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.pisanje u datoteku u pitonu

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.

python piše niz u datoteku

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.

pisanje rječnika u python datoteku

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.

pithon json pisati u datoteku

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.

python piše u retku datoteka po retku

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.

Dijelite na društvenim mrežama:

Povezan
SQL datoteku. SQL format datoteke: opis proširenjaSQL datoteku. SQL format datoteke: opis proširenja
Kako i što otvoriti datoteku * .pak? Opis formata * .pak datotekaKako i što otvoriti datoteku * .pak? Opis formata * .pak datoteka
Format DOCM - nego otvoriti takve datoteke?Format DOCM - nego otvoriti takve datoteke?
Kako pisati u php datotekuKako pisati u php datoteku
Otvoriti GPX: uputuOtvoriti GPX: uputu
Java: rad s datotekama - pisanje, čitanje i brisanjeJava: rad s datotekama - pisanje, čitanje i brisanje
EML format - što treba otvoriti i kako raditi s njomEML format - što treba otvoriti i kako raditi s njom
ACCDB: kako otvoriti datotekuACCDB: kako otvoriti datoteku
Radite s datotekama. Kako promijeniti datotečni nastavakRadite s datotekama. Kako promijeniti datotečni nastavak
Što je XML format nego otvoriti i kako raditi s njom.Što je XML format nego otvoriti i kako raditi s njom.
» » Rad s objektima datoteka: otvaranje, čitanje i pisanje datotekama u Pythonu
LiveInternet