Čitanje i pisanje datoteka s Pythonom

Reading Writing Files With Python

Datoteke se koriste za spremanje i organiziranje podataka na disku. Često koristimo datoteke kada moramo trajno pohraniti podatke na tvrdi disk. Na primjer, recimo da gradimo softverski sustav koji vodi evidenciju učenika. Sada moramo trajno pohraniti podatke učenika za buduću upotrebu. U tu svrhu možemo koristiti datoteke za pohranu podataka, a kasnije možemo otvoriti te datoteke i pristupiti pohranjenim podacima u bilo kojem trenutku.

Čitanje i pisanje datoteka vrlo su česte funkcije u Pythonu. Lako je stvarati, čitati i uređivati ​​datoteke u Pythonu. Python dolazi s ugrađenim funkcijama za čitanje i pisanje datoteka. Datoteke možete otvarati, pisati i čitati pomoću ugrađenih funkcija Python. Operacije s datotekama izvode se u sljedećem slijedu:



  • Otvorite datoteku
  • Čitanje/pisanje datoteke
  • Zatvori datoteku

Pomoću Pythona možete stvoriti tekstualne datoteke i binarne datoteke. Tekstualne datoteke pohranjuju podatke u obliku znakova, a svaki redak završava znakom novog retka (‘ n’). U binarnim datotekama podaci se pohranjuju u obliku bajtova (1 i 0).



U ovom ćete članku naučiti:



  • Neki od različitih načina datoteka u Pythonu
  • Kako otvoriti datoteku
  • Kako stvoriti datoteku
  • Kako zapisati podatke u datoteku
  • Kako čitati datoteku

Različiti načini datoteka u Pythonu

Načini u Pythonu opisuju vrstu operacije koju treba izvršiti nad datotekom. Prilikom otvaranja datoteke morate navesti način rada. Svaka datoteka ima ručicu datoteke. Rukovalac datoteke djeluje poput pokazivača koji određuje gdje se upisuju i čitaju podaci. To je vrsta pokazivača lokacije. Slijede neki od različitih načina pristupnih datoteka u Pythonu:

Način rada Opis
r Otvara datoteku u načinu čitanja. Ovaj je način zadano odabran ako ne definirate nijedan način dok otvarate datoteku u Pythonu.
u Zapisuje datoteku. Ovaj način stvara datoteku ako datoteka već ne postoji i prepisuje podatke u datoteci.
r+ Koristi se za čitanje i pisanje datoteke. Pokazuje pogrešku ako datoteka ne postoji.
do Otvara datoteku u načinu dodavanja. Rukovalac datoteke nalazi se na kraju datoteke. Ovaj način rada ne prepisuje postojeće podatke, već započinje upisivanje podataka na kraju datoteke. Nova datoteka se stvara ako datoteka ne postoji.
a + Otvara datoteku za čitanje i pisanje. Ovo otvara datoteku u načinu dodavanja za pisanje. Podaci se ubacuju na kraj datoteke. Nova datoteka se stvara ako datoteka ne postoji.
t Otvara datoteku u tekstualnom načinu.

Kako otvoriti datoteku

Da biste otvorili datoteku u Pythonu, upotrijebite ugrađeni otvorena() funkcija. Funkcija open () uzima dva argumenta kao ulaz, tj. Naziv datoteke i način rada. Ova funkcija vraća objekt datoteke kao izlaz. Nema potrebe za uvozom bilo kojeg modula za korištenje funkcije open (). Slijedi sintaksa funkcije open ():

file_object= otvorena(naziv datoteke,načinu rada)

Ovdje 'naziv_datoteke' predstavlja naziv stvarne tekstualne datoteke, dok 'način' predstavlja pristup datoteci ili način rada s datotekom. Također možete postaviti r ispred 'naziv_datoteke', ako naziv datoteke sadrži posebne znakove. R se postavlja na sljedeći način:



=file_object= otvorena(rfile_name,načinu rada)

Na primjer, naziv datoteke može biti: F: newfolder myfile.txt

Kako stvoriti datoteku

Funkcija open () može se koristiti za stvaranje datoteka u Pythonu. Upotrijebite način dodavanja (a) unutar funkcije open () za stvaranje datoteke. Napravite datoteku pomoću dolje navedenog koda:

datoteka = otvorena('sample.txt','do')

Ovdje se stvara novi datotečni objekt. Objekt datoteke naziva se datoteka. Naziv novostvorene tekstualne datoteke je sample.txt. Tekstualna datoteka se otvara u načinu dodavanja. On će stvoriti novu datoteku ako datoteka već ne postoji. Nakon stvaranja datoteke, datoteku morate zatvoriti na sljedeći način:

datoteka.Zatvoriti()

Ugrađena funkcija close () koristi se za zatvaranje datoteke.

Kako zapisati podatke u datoteku

U Pythonu postoje dvije funkcije za pisanje podataka u datoteku:

  1. pisati()
  2. redovi za pisanje ()

Funkcija write () koristi se za upisivanje podataka u jedan redak ili jednog niza u datoteku, dok se funkcija writelines () koristi za pisanje više redaka podataka u tekstualnu datoteku. Pogledajmo neke primjere zapisivanja podataka u datoteku.

Upotreba funkcije write ()

U ovom primjeru koristimo write () funkciju za upisivanje podataka u datoteku. Datoteka se otvara u načinu pisanja. n postavlja se za navođenje kraja retka.

# stvaranje novog datotečnog objekta i otvaranje datoteke u načinu pisanja
datoteka=otvorena('sample.txt','u')
# pisanje jednog retka u datoteku

datoteka.pisati('Dobro došli u linuxhint n')
# pisanje još jednog retka u datoteku
datoteka.pisati('Dobrodošao natrag')

#zatvaranje datoteke
datoteka.Zatvoriti()

Izlaz

Redci su zapisani u tekstualne datoteke.

Ako otvorimo datoteku u načinu pisanja i zatražimo od funkcije write () da u datoteku upiše više redaka, ona će prebrisati prethodne podatke, a novi će se podaci dodati u tekstualnu datoteku.

# stvaranje novog datotečnog objekta i otvaranje datoteke u načinu pisanja
datoteka=otvorena('sample.txt','u')
# pisanje jednog retka u datoteku

datoteka.pisati('Pozdrav svima n')
# pisanje još jednog retka u datoteku
datoteka.pisati('Ovo je zamijenjeni niz')

#zatvaranje datoteke
datoteka.Zatvoriti()

Izlaz

U izlazu se može vidjeti da su prethodni podaci zamijenjeni, a na njihovo mjesto u tekstualnoj datoteci dodani novi podaci.

Ako želimo zadržati i prethodne i nove podatke u datoteci, tada možemo datoteku otvoriti u načinu dodavanja, ovako:

# stvaranje novog datotečnog objekta i otvaranje datoteke u načinu dodavanja
datoteka=otvorena('sample.txt','do')
# pisanje jednog retka u datoteku

datoteka.pisati('Pozdrav svima n')
# pisanje još jednog retka u datoteku
datoteka.pisati('Ovo je zamijenjeni niz n')
# pisanje još jednog jedinog retka u datoteku
datoteka.pisati('Ovo je novo dodani niz znakova n')
#zatvaranje datoteke
datoteka.Zatvoriti()

Izlaz

Korištenje funkcije writelines ()

Funkcija writelines () koristi se za pisanje više redaka u tekst odjednom, na sljedeći način:

# stvaranje novog datotečnog objekta i otvaranje datoteke u načinu pisanja
datoteka=otvorena('file1.txt','u')
# spremanje više podataka niza u varijablu
str = ['Pozdrav svima n','Dobro došli u linuxhint n','koristimo funkciju zapisivanja n']
# upotrebom funkcija redova za pisanje podataka u datoteku
datoteka.linije za pisanje(str)
#zatvaranje datoteke
datoteka.Zatvoriti()

Izlaz

Kako čitati datoteku

Da biste pročitali datoteku u Pythonu, prvo je otvorite u načinu čitanja. U Pythonu postoje tri ugrađene funkcije za čitanje datoteke. To uključuje sljedeće:

  1. čitati()
  2. readline ()
  3. readlines ()

čitati(): Koristi se za čitanje podataka iz datoteke; vraća cijele podatke u obliku niza.

readline (): Čita niz podataka iz datoteke; vraća samo prvi redak.

readlines (): Čita sve postojeće retke iz datoteke; vraća u obliku popisa.

Funkcija traži () koristi se za promjenu položaja ručke datoteke. Prilikom čitanja podataka u datoteci, rukovalac datoteke postavlja se na kraj datoteke. Dakle, ručka datoteke je poput kursora, s funkcijom search () kao sredstvom za pomicanje kursora.

Pogledajmo primjer čitanja podataka iz datoteke.

# otvaranje datoteke u načinu čitanja
datoteka=otvorena('file1.txt','r')
# pomoću funkcije read () za čitanje podataka iz datoteke
# spremanje redaka u varijablu
podaci=datoteka.čitati()
# ispis podataka
ispisati('Ovo je izlaz funkcije read (): n')
ispisati(podaci)

# pomoću funkcije continue () za početak pozicije datoteke
datoteka.tražiti(0)
# pomoću funkcije readline () za čitanje podataka iz datoteke
# spremanje redaka u varijablu
podaci=datoteka.readline()
# ispis podataka
ispisati('Ovo je izlaz funkcije readline (): n')
ispisati(podaci)

# pomoću funkcije continue () za početak pozicije datoteke
datoteka.tražiti(0)
# pomoću funkcije readlines () za čitanje podataka iz datoteke
# spremanje redaka u varijablu
podaci=datoteka.readlines()
# ispis podataka
ispisati('Ovo je izlaz funkcije readlines (): n')
ispisati(podaci)
#zatvaranje datoteke
datoteka.Zatvoriti()

Izlaz

Zaključak

Često je potrebno pohraniti podatke ili podatke u datoteku. U Pythonu možete jednostavno stvarati, pisati i čitati datoteke pomoću ugrađenih funkcija Python. Nema potrebe za uvozom drugih modula u vaš program kada želite čitati, pisati i stvarati datoteke. Također možete koristiti više ugrađenih načina pristupa dok koristite datoteke. U ovom smo članku objasnili kako čitati i pisati datoteke u Pythonu s nekoliko jednostavnih primjera.