Branje in pisanje datotek s programom Python

Reading Writing Files With Python



Datoteke se uporabljajo za shranjevanje in organiziranje podatkov na disku. Datoteke pogosto uporabljamo, kadar moramo trajno shraniti podatke na trdi disk. Recimo, da gradimo programski sistem, ki vodi evidenco študentov. Zdaj moramo trajno shraniti študentske podatke za prihodnjo uporabo. V ta namen lahko datoteke uporabljamo za shranjevanje podatkov, kasneje pa lahko te datoteke odpremo in kadar koli dostopamo do shranjenih podatkov.

Branje in pisanje datotek sta zelo pogosti funkciji v Pythonu. Ustvarjanje, branje in urejanje datotek v Pythonu je preprosto. Python ima vgrajene funkcije za branje in pisanje datotek. Datoteke lahko odpirate, pišete in berete z vgrajenimi funkcijami Python. Operacije z datotekami se izvajajo v naslednjem zaporedju:







  • Odprite datoteko
  • Branje/pisanje datoteke
  • Zapri datoteko

S Pythonom lahko ustvarite besedilne in binarne datoteke. Besedilne datoteke shranjujejo podatke v obliki znakov, vsaka vrstica pa se konča z znakom nove vrstice (' n'). V binarnih datotekah so podatki shranjeni v obliki bajtov (1 in 0).



V tem članku se boste naučili:



  • Nekaj ​​različnih načinov datotek v Pythonu
  • Kako odpreti datoteko
  • Kako ustvariti datoteko
  • Kako zapisati podatke v datoteko
  • Kako prebrati datoteko

Različni načini datotek v Pythonu

Načini v Pythonu opisujejo vrsto operacije, ki jo je treba izvesti nad datoteko. Ko odprete datoteko, morate določiti način. Vsaka datoteka ima ročaj datoteke. Ročaj datoteke deluje kot kazalec, ki določa, kam zapisati in prebrati podatke. To je vrsta kazalca lokacije. V nadaljevanju so nekateri različni načini dostopnih datotek v Pythonu:





Način Opis
r Odpre datoteko v načinu branja. Ta način je privzeto izbran, če med odpiranjem datoteke v Pythonu ne določite nobenega načina.
v Zapiše datoteko. Ta način ustvari datoteko, če datoteka že ne obstaja, in prepiše podatke v datoteki.
r+ Uporablja se za branje in pisanje datoteke. Če datoteka ne obstaja, se prikaže napaka.
do Odpre datoteko v načinu dodajanja. Ročaj datoteke se nahaja na koncu datoteke. Ta način ne prepiše obstoječih podatkov, ampak začne zapisovati podatke na koncu datoteke. Če datoteka ne obstaja, se ustvari nova datoteka.
a + Odpre datoteko za branje in pisanje. To odpre datoteko v načinu dodajanja za pisanje. Podatki se vstavijo na koncu datoteke. Če datoteka ne obstaja, se ustvari nova datoteka.
t Odpre datoteko v besedilnem načinu.

Kako odpreti datoteko

Če želite odpreti datoteko v Pythonu, uporabite vgrajeno odprto() funkcijo. Funkcija open () za vhod vzame dva argumenta, to je ime datoteke in način delovanja. Ta funkcija vrne datotečni objekt kot izhod. Za uporabo funkcije open () ni treba uvoziti nobenega modula. Sledi sintaksa funkcije open ():

file_object= odprto(Ime datoteke,način)

Tukaj 'ime_datoteke' predstavlja ime dejanske besedilne datoteke, medtem ko 'način' predstavlja dostop do datoteke ali način delovanja z datoteko. R lahko postavite tudi pred ime datoteke, če ime datoteke vsebuje posebne znake. R je postavljen na naslednji način:



=file_object= odprto(rfile_name,način)

Na primer, ime datoteke je lahko: F: newfolder myfile.txt

Kako ustvariti datoteko

Funkcijo open () lahko uporabite za ustvarjanje datotek v Pythonu. Za ustvarjanje datoteke uporabite način dodajanja (a) znotraj funkcije open (). Ustvarite datoteko s spodnjo kodo:

mapa = odprto('sample.txt','do')

Tu se ustvari nov datotečni objekt. Objekt datoteke se imenuje datoteka. Ime novo ustvarjene besedilne datoteke je sample.txt. Besedilna datoteka se odpre v načinu dodajanja. Ustvarila bo novo datoteko, če datoteka že ne obstaja. Ko ustvarite datoteko, jo morate zapreti na naslednji način:

mapa.blizu()

Vgrajena funkcija close () se uporablja za zapiranje datoteke.

Kako zapisati podatke v datoteko

Za zapisovanje podatkov v datoteko v Pythonu obstajata dve funkciji:

  1. piši ()
  2. writelines ()

Funkcija write () se uporablja za zapis ene vrstice ali podatkov iz enega niza v datoteko, funkcija writelines () pa za pisanje več vrstic podatkov v besedilno datoteko. Poglejmo nekaj primerov zapisovanja podatkov v datoteko.

Uporaba funkcije write ()

V tem primeru uporabljamo funkcijo write () za zapis podatkov v datoteko. Datoteka se odpre v načinu pisanja. n je določeno za konec vrstice.

# ustvarjanje novega datotečnega predmeta in odpiranje datoteke v načinu pisanja
mapa=odprto('sample.txt','in')
# pisanje ene vrstice v datoteko

mapa.pisati('Dobrodošli v linuxhint -u n')
# pisanje druge vrstice v datoteko
mapa.pisati('Dobrodošel nazaj')

#zapiranje datoteke
mapa.blizu()

Izhod

Vrstice so zapisane v besedilne datoteke.

Če datoteko odpremo v načinu za pisanje in zahtevamo, da funkcija write () napiše več vrstic v datoteko, bodo prepisali prejšnje podatke in novi podatki bodo dodani v besedilno datoteko.

# ustvarjanje novega datotečnega predmeta in odpiranje datoteke v načinu pisanja
mapa=odprto('sample.txt','in')
# pisanje ene vrstice v datoteko

mapa.pisati('Pozdravljeni vsi skupaj n')
# pisanje druge vrstice v datoteko
mapa.pisati('To je zamenjani niz')

#zapiranje datoteke
mapa.blizu()

Izhod

V izhodu je razvidno, da se prejšnji podatki zamenjajo in na njihovo mesto v besedilni datoteki dodajo nove podatke.

Če želimo v datoteki ohraniti tako prejšnje kot nove podatke, lahko datoteko odpremo v načinu za dodajanje, na primer:

# ustvarjanje novega datotečnega objekta in odpiranje datoteke v načinu dodajanja
mapa=odprto('sample.txt','do')
# pisanje ene vrstice v datoteko

mapa.pisati('Pozdravljeni vsi skupaj n')
# pisanje druge vrstice v datoteko
mapa.pisati('To je zamenjani niz n')
# pisanje nove nove posamezne vrstice v datoteko
mapa.pisati('To je na novo dodan niz nizov n')
#zapiranje datoteke
mapa.blizu()

Izhod

Uporaba funkcije writelines ()

Funkcija writelines () se uporablja za pisanje več vrstic v besedilo hkrati:

# ustvarjanje novega datotečnega predmeta in odpiranje datoteke v načinu pisanja
mapa=odprto('file1.txt','in')
# shranjevanje več podatkov niza v spremenljivko
str = ['Pozdravljeni vsi skupaj n','Dobrodošli v linuxhint -u n','uporabljamo funkcijo zapisov n']
# uporaba funkcij za pisanje za zapis podatkov v datoteko
mapa.vrstice za pisanje(str)
#zapiranje datoteke
mapa.blizu()

Izhod

Kako prebrati datoteko

Če želite prebrati datoteko v Pythonu, jo najprej odprite v načinu branja. V Pythonu so tri vgrajene funkcije za branje datoteke. Ti vključujejo naslednje:

  1. beri ()
  2. readline ()
  3. readlines ()

beri (): Uporablja se za branje podatkov iz datoteke; vrne celotne podatke v obliki niza.

readline (): Prebere vrstico podatkov iz datoteke; vrne samo prvo vrstico.

readlines (): Prebere vse obstoječe vrstice iz datoteke; vrne v obliki seznama.

Funkcija search () se uporablja za spreminjanje položaja ročaja datoteke. Pri branju podatkov v datoteki se ročaj datoteke postavi na konec datoteke. Tako je ročaj datoteke podoben kazalcu, funkcija search () pa je sredstvo za premikanje kurzorja.

Poglejmo primer branja podatkov iz datoteke.

# odpiranje datoteke v načinu branja
mapa=odprto('file1.txt','r')
# z uporabo funkcije read () za branje podatkov iz datoteke
# shranjevanje vrstic v spremenljivko
podatkov=mapa.prebrati()
# tiskanje podatkov
tiskanje('To je rezultat funkcije read (): n')
tiskanje(podatkov)

# z uporabo funkcije search () za zagon položaja datoteke
mapa.iskati(0)
# s funkcijo readline () za branje podatkov iz datoteke
# shranjevanje vrstic v spremenljivko
podatkov=mapa.readline()
# tiskanje podatkov
tiskanje('To je rezultat funkcije readline (): n')
tiskanje(podatkov)

# z uporabo funkcije search () za zagon položaja datoteke
mapa.iskati(0)
# z uporabo readlines () funkcije za branje podatkov iz datoteke
# shranjevanje vrstic v spremenljivko
podatkov=mapa.readlines()
# tiskanje podatkov
tiskanje('To je rezultat funkcije readlines (): n')
tiskanje(podatkov)
#zapiranje datoteke
mapa.blizu()

Izhod

Zaključek

Pogosto je treba podatke ali podatke shraniti v datoteko. V Pythonu lahko preprosto ustvarjate, pišete in berete datoteke z uporabo vgrajenih funkcij Python. Če želite brati, pisati in ustvarjati datoteke, vam v program ni treba uvoziti drugih modulov. Med uporabo datotek lahko uporabite tudi več vgrajenih načinov dostopa. V tem članku smo z nekaj preprostimi primeri razložili, kako brati in pisati datoteke v Pythonu.