Odpiranje in zapiranje datoteke
Za branje podatkov iz besedilne datoteke z imenom „data.txt ", morate uporabiti metodo" open ", ki je priložena uradnim gradnjam Pythona. Preverite spodnjo vzorčno kodo:
f = odprto ('podatki.txt ',' r ')f.zapri ()
Prva izjava odpre »podatke.txt «v načinu» r «(samo za branje). Metoda „odprto“ kot argumente sprejme ime datoteke in način za obdelavo datoteke. Poleg načina "r" obstajajo tudi drugi načini, ki bodo razloženi kasneje. Zgornji delček kode ne izvaja nobene operacije z odprto datoteko. Metoda »zapri« se uporablja za čisto zapiranje odprte datoteke, da se sprosti pomnilnik in da se prepreči poškodovanje podatkov v odprti datoteki, ki se lahko zgodi včasih, če datoteka ni pravilno zaprta.
Namesto da bi za odpiranje in zapiranje datotek uporabljali metodo “open”, jo lahko kombinirate s ključno besedo “with” in uporabite stavek “with open”.
z odprtimi ('podatki.txt ',' r ') kot f:podajo
Glavna prednost uporabe stavka »z odprtim« je, da tolmač samodejno varno zapre odprto datoteko, ko je blok kode »z odprtim« popolnoma razčlenjen. Čeprav zbiralnik smeti v Pythonu samodejno zapre odprte datoteke čez nekaj časa v skladu s prednastavljenimi pravili, stavki "z odprtimi" zagotavljajo, da je datoteka čisto zaprta takoj, ko je blokada kode končana, da sprosti vire.
Branje vrstic besedilne datoteke
Če želite prebrati vsebino datoteke, uporabite spodnji vzorec kode:
z odprtimi ('podatki.txt ',' r ') kot f:podatki = f.preberi ()
tisk (podatki)
Na primer, če »podatki.txt ”ima 1-10 številk, vsaka v novi vrstici, po zagonu zgornje kode boste dobili naslednji izhod:
12
3
4
5
6
7
8
9
10
Celotno smetišče podatkov „data.txt ”datoteka je shranjena v spremenljivki„ data ”. Če želite prebrati vrstice na seznamu, lahko uporabite naslednje vzorce kode:
z odprtimi ('podatki.txt ',' r ') kot f:podatki = f.bralne vrstice ()
print (data) z open ('data.txt ',' r ') kot f:
podatki = seznam (f)
tisk (podatki)
Upoštevajte, da lahko z uporabo zgornjih delčkov dobite znak "\ n" (nova vrstica) na koncu vsakega elementa na seznamu. Če želite odstraniti te znake v novi vrstici, boste morda morali zapreti seznam. Ustvarite lahko nov seznam in odstranite znake iz nove vrstice z uporabo naslednje kode:
seznam_podatkov = []z odprtimi ('podatki.txt ',' r ') kot f:
za vrstico v f:
seznam_podatkov.dodaj (vrstica.strip ())
natisni (seznam_podatkov)
Z zagonom zgornje kode boste dobili naslednje rezultate:
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']Zapisovanje podatkov v odprto datoteko
Če želite zapisati podatke v datoteko, ki se odpre z uporabo stavka »z odprtim«, boste morali kot argument navesti drugačen način odpiranja. Tu je nekaj načinov:
- 'a' - uporablja se za dodajanje podatkov na koncu odprte datoteke, ustvari novo datoteko, če ta ne obstaja
- 'w' - izbriše vsebino odprte datoteke in zapiše nove podatke ter ustvari novo datoteko, če ta ne obstaja
- 'r' - način samo za branje (privzeti način, če ni naveden noben argument)
- 'r +' - uporablja se tako za branje kot za pisanje (začetni položaj je na začetku datoteke)
- 'b' - datoteka se odpre v binarnem načinu (uporabno za nebesedilne binarne datoteke), lahko jo kombinirate z drugimi načini
- 'a +' - uporablja se za branje in dodajanje, ustvari novo datoteko, če ne obstaja
- 'w +' - uporablja se za branje in pisanje, ustvari novo datoteko, če ne obstaja
Nekateri delčki kode, ki uporabljajo različne načine za zapisovanje podatkov, so navedeni spodaj.
Če želite med brisanjem obstoječih podatkov v besedilno datoteko zapisati novo vsebino, uporabite naslednji vzorec:
z odprtimi ('podatki.txt ',' w ') kot f:f.piši ("1 \ n2")
Po zagonu zgornjega delčka od 1 do 10 številk v »podatkih.datoteko txt ”je treba nadomestiti z dvema vrsticama.
Če želite na začetek besedilne datoteke dodati vrstice, se morate po metodi »išči« vrniti na začetni položaj medpomnilnika datoteke:
z odprtimi ('podatki.txt ',' r + ') kot f:podatki = f.preberi ()
f.iskati (0)
f.napiši ("- 1 \ n0 \ n")
f.pisanje (podatki)
Po zagonu zgornjega delčka kode se v zgornji dve vrstici v “data” dodate številki -1 in 0.txt ”.
Če želite podatke dodati na koncu datoteke, uporabite naslednji vzorec:
z odprtimi ('podatki.txt ',' a ') kot f:f.piši ("11 \ n12")
Ko zaženete zgornji delček, se na koncu datoteke doda 11 in 12 številk.
Zaključek
Vgrajeni razredi in metode v Pythonu omogočajo robusten način obdelave besedilnih datotek. Z le nekaj vrsticami kode lahko upravljate obstoječe podatke v datoteki in vstavljate nove vrstice.