Rad s objektima datoteka: otvaranje, čitanje i pisanje datotekama u Pythonu
Datoteke se odnose na osnovne vrste podataka Python. Ovo je sučelje između kodova i nazvanih područja memorije računala. Datoteke izvode funkciju "očuvanja" objekata. Oni vam omogućuju spremanje bilo kakvih informacija s kasnijim pražnjenjem i obradom. Pogledat ćemo kako pisati u datoteku u Pythonu i preokrenuti podatke pomoću praktičnih primjera.
sadržaj
Kako otvoriti datoteku?
Rad s tom vrstom podataka započinje s ugrađenom funkcijom otvorenom. Ona stvara objekt datoteke koji omogućuje komunikaciju s vanjskim dokumentom na računalu. Nakon što nazovete tu funkciju, možete izvršiti čitanje ili pisanje operacija na datotekama u Pythonu.
Za početnike teško je raditi s datotekama. Razlikuju se od uobičajenih linija, brojeva i rječnika. Za interakciju s njima, doslovci sekvenci ili mapiranja se ne koriste, samo metode.
Većina metoda usmjerena je na obavljanje informacija i unosa podataka, ali postoje i specifičnije. Na primjer, izlaz izlaz.flush (), koji gura izlazne pufere na disk. Ali početi ćemo učiti kako otvoriti datoteku.
Prva stvar koju trebate učiniti je nazvati open (), proći u zagradama funkcija, ime vanjske datoteke i način rada s njom:
- r - znači da će način čitanja biti otvoren prema zadanim postavkama;
- w - način pisanja datotekama u Pythonu;
- a - pisati podatke na samom kraju dokumenta;
- b - obrada binarnih datoteka;
- znak "+" znači čitanje i pisanje u isto vrijeme.
Važno je pravilo da svi argumenti moraju biti navedeni kao doslovni nizovi, tj. Citati i razdvojeni zarezima:
- > This_file = open ("C: odd", "w") # Primjer pozivanja otvorene funkcije u IDE-u.
Kako koristiti datoteke?
Kada otvorite datoteku, možete koristiti sve svoje metode. Sadržaj za čitanje predstavit će se kao žice. Za pisanje datotekama u Pythonu, informacije također moraju imati oblik žičanih objekata.
Popis najčešće korištenih operacija:
- input.read () - vraća podatke kao jedan niz;
- input.readline () - pročitajte sljedeći redak;
- input.readlines () - predstaviti datoteku za čitanje u cijelosti s popisom nizova;
- .pisati () - napisati retke;
- .writelines () - bilježi sve linije;
- .zatvorite () - ručno zatvorite dokument.
Značajke rada s datotekama
Sve informacije sadržane u datotekama prikazane su kao objekti niza. Stoga, prije nego što ga počnete obraditi, morate izvršiti pretvorbu podataka. Upotrijebite ugrađene metode int () ili list () za to. I također izrazi za oblikovanje žica.
Ne morate koristiti blisku metodu. No, kada radite s istosmjernim osvjetljenjem, OS resursi se oslobađaju i izlazni se odbori izbacuju. Prema zadanim postavkama, izlaz je preko međupodranata. Prilikom pisanja u datoteku u Pythonu, informacije ne idu odmah na disk, već samo u vrijeme zatvaranja.
Primjer pisanja u datoteku
Pogledajmo primjer rada s tekstualnom datotekom u interaktivnoj sesiji. Prvi korak je otvoriti datoteku u IDLE. Nije potrebno prethodno stvaranje:
- > first_f = otvoren ("first_file.txt", "w")
- > first_fr.write ("Bilo koji tekst n") # Pišite retke
- 12
- > first_fr.write ("I opet bilo koji tekst n")
- 20
- > first_file.close () # Zatvori;
- > first_f = otvoren ("first_file.txt")
- > first_read.readline () # Čitamo, što je zapisano
- "Svaki tekst n"
Nakon pisanja retka u datoteku, Python 3.0 vraća broj unesenih znakova. U prethodnoj verziji to se ne događa. U primjeru se koristi znak završetka retka n. Bez nje, pisati će sve napisati u čvrstom tekstu.
Ako želite čitati sadržaj datoteke bez navođenja n na kraju, upotrijebite metodu čitanja:
- > ispisati (otvoriti ("prvi_file.txt"). pročitajte ())
- bilo koji tekst;
- i opet bilo koji tekst;
Svaki redak možete vidjeti redom po iteraciji:
- > za x u otvorenom ("first_file.txt"):
- ispis (x, kraj = «»)
- bilo koji tekst
- i opet svaki tekst # Svaka nova linija bit će prikazana razvučena.
Spremanje osnovnih objekata Python u datoteku
U tekstualnoj datoteci možete spremiti sve ugrađene ili ručno stvorene objekte. Za pisanje datotekama u Pythu line by line, svaki element mora se pretvoriti u niz. Također, zapamtite da metode ne formiraju podatke.
- > example_2 = otvoren ("second_file.txt", "w")
- > Popis = [1.8, "r"]
- > C, B, P = 34, 90, 56
- > String = "Skup znakova"
- > example_2.write (str (Popis) + " n")
- 12
- > example_2.write ("% s,% s,% s n"% (C, B, P))
- 11
- > example_2.write (Pp + " n")
- 15
- > example_2.close ()
- > ispisati (otvoriti ("second_file.txt"). read ())
- [1, 8, "r"]
- 34, 90, 56
- skup znakova
U ovom primjeru prvo stvorite novi objekt datoteke "second_file.txt" za pisanje. Pet naziva dodjeljuju se vrijednosti popisa, niza i brojeva. Prije snimanja svaki objekt se pretvara u niz. Na kraju se datoteka otvara pomoću ugrađene funkcije ispisa i načina čitanja.
Po istom principu, Python piše rječnik u datoteku. Potrebno je pozvati funkciju str i položiti je kao argument za objekt. Najteža stvar nije spremiti podatke, već ih izdvajati i vratiti natrag u rječnike ili brojeve.
Pretvaranje nizova u jezične objekte pomoću načina čitanja:
- > L = otvoreno ("second_file.txt")
- > F = L.readline ()
- > F
- «34, 90, 56 n»
- > Brojevi = F.split (",") # Odvojite zarezima u podnizove
- > Brojevi
- ["34", "90", "56 n"]
- > Brojevi = [int (x) za x u brojevima] # Pretvori cijeli popis
- > Brojevi
- [34, 90, 56]
Snimanje objekata pomoću posebnih modula
Standardna knjižnica uključuje modul koji se zove krastavac. Ovo je izuzetno koristan alat za pisanje i dohvaćanje informacija. Pogotovo ako ne vjerujete izvoru datoteke.
Modul je univerzalni alat koji automatski formatira i pretvara podatke. Da biste napisali bilo koji tip objekta (rječnik), dovoljno je proći krišku:
- > Rječnik = {"osam": 8, "tri": 3, "nula": 0}
- > Rječnik
- {"Osam": 8, "tri": 3, "nula": 0}
- > document = open ("my_document.pkl", "wb")
- > uvoz krumpira
- > pickle.dump (rječnik, dokument)
- > document.close ()
- > document = open ("my_document.pkl", "rb")
- > D = pickle.load (dokument)
- > D
- {"Osam": 8, "tri": 3, "nula": 0}
Uz modul, nema potrebe ručnog izvođenja i pretvaranja podataka. On sam izvodi serijalizaciju objekata u nizu bajtova i natrag. Za to, otvoreni argumenti navode wb - write binarnu.
Na sličan način, "mogu" podaci mogu koristiti Python modul - JSON. Datoteka je zapisana u datoteku pomoću metode dumpiranja. Argumenti su pohranjeni objekti koji su automatski serijski za JSON niz.
- > uvoz json
- > Rječnik = {"osam": 8, "tri": 3, "nula": 0}
- > s otvorenim ("my_document.json", "w") kao m_d:
- > json.dump (Rječnik, m_d)
Postoje i složenije načine rada s datotekama. Na primjer, rad skeniranja, organizacija ciklusa snimanja. Da biste vidjeli cijeli popis metoda, upotrijebite pomoć ili dir funkcije u interaktivnoj sesiji. Također u arsenalu jezika postoje slični objekti na datotekama, - utičnice, naredba ljuska i I / O struje.
- Kako otvoriti XML datoteke za uređivanje u Excelu: nekoliko jednostavnih načina
- SQL datoteku. SQL format datoteke: opis proširenja
- Kako i što otvoriti datoteku * .pak? Opis formata * .pak datoteka
- Format DOCM - nego otvoriti takve datoteke?
- Kako pisati u php datoteku
- Otvoriti GPX: uputu
- Java: rad s datotekama - pisanje, čitanje i brisanje
- EML format - što treba otvoriti i kako raditi s njom
- ACCDB: kako otvoriti datoteku
- Radite s datotekama. Kako promijeniti datotečni nastavak
- Što je XML format nego otvoriti i kako raditi s njom.
- Tmp - što je to? Tmp: opis procesa
- Pptx datoteke: što treba otvoriti
- Atributi datoteke
- Da otvoriti dll? Upute i preporuke za početnike
- Ulaz i izlaz u Pythonu. Ulaz i ispis
- Programiranje u Pythonu. Rad s žicama
- Python: vrste podataka, uvjeti, zahtjevi i primjeri
- Što su objekti u Pythonu?
- Uvjetne izjave ako / drugo u Pythonu: sintaksa i primjena
- Kako pisati u datoteku u Javi