Failo atidarymas ir uždarymas
Norėdami perskaityti duomenis iš teksto failo, pavadinto „duomenys.txt “, turite naudoti„ open “metodą, kuris pateikiamas kartu su oficialiais„ Python “kūriniais. Patikrinkite kodo pavyzdį žemiau:
f = atidaryti ('duomenys.txt ',' r ')f.Uždaryti()
Pirmasis teiginys atveria „duomenis.txt “failas„ r “(tik skaityti) režimu. Metodas „open“ priima failo pavadinimą ir failo tvarkymo režimą kaip argumentus. Be „r“ režimo, yra ir kitų režimų, kurie bus paaiškinti vėliau. Aukščiau pateiktas kodo fragmentas neatlieka jokių operacijų atidarytame faile. „Uždaryti“ metodas naudojamas švariai uždaryti atidarytą failą, kad būtų atlaisvinta atmintis ir išvengta duomenų sugadinimo atidarytame faile, kuris gali atsitikti kartais, jei failas nėra tinkamai uždarytas.
Užuot naudoję „open“ metodą failų atidarymui ir uždarymui, galite jį sujungti su „with“ raktiniu žodžiu ir naudoti „with open“ sakinį.
su atviraisiais ('duomenys.txt ',' r ') kaip f:praeiti
Pagrindinis teiginio „su atviru“ naudojimo privalumas yra tai, kad vertėjas automatiškai saugiai uždaro atidarytą failą, kai „su atviru“ kodo blokas yra visiškai išanalizuotas. Nors „Python“ šiukšlių surinkėjas po kurio laiko automatiškai uždaro atidarytus failus pagal iš anksto nustatytas taisykles, „su atvirais“ teiginiai užtikrina, kad failas bus švariai uždarytas, kai tik baigsite kodų bloką, kad atlaisvintumėte išteklius.
Teksto failo eilučių skaitymas
Norėdami perskaityti failo turinį, naudokite toliau pateiktą kodo pavyzdį:
su atviraisiais ('duomenys.txt ',' r ') kaip f:duomenys = f.skaityti ()
spausdinti (duomenys)
Pavyzdžiui, jei „duomenys.txt “faile yra 1–10 numerių, kurių kiekviena yra naujoje eilutėje, paleidę aukščiau nurodytą kodą gausite tokią išvestį:
12
3
4
5
6
7
8
9
10
Visas „duomenų.txt “failas saugomas kintamajame„ data “. Jei norite skaityti sąrašo eilutes, galite naudoti šiuos kodų pavyzdžius:
su atviraisiais ('duomenys.txt ',' r ') kaip f:duomenys = f.eilutės ()
spausdinti (duomenys) su open ('duomenys.txt ',' r ') kaip f:
duomenys = sąrašas (f)
spausdinti (duomenys)
Atminkite, kad naudodami aukščiau pateiktus fragmentus galite gauti simbolį „\ n“ (nauja eilutė) kiekvieno sąrašo elemento pabaigoje. Jei norite pašalinti šiuos naujos eilutės simbolius, gali tekti peržiūrėti sąrašą. Galite sukurti naują sąrašą ir ištrinti naujos eilutės simbolius naudodami šį kodą:
duomenų_ sąrašas = []su atviraisiais ('duomenys.txt ',' r ') kaip f:
linijai f:
duomenų_ sąrašas.pridėti (eilutė.juosta ())
spausdinti (duomenų_ sąrašas)
Vykdydami aukščiau esantį kodą gausite šią išvestį:
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']Duomenų rašymas į atidarytą failą
Norėdami rašyti duomenis į atidaromą failą naudodami „su atviru“ sakinį, kaip argumentą turėsite pateikti kitą atidarymo režimą. Štai keletas režimų:
- „a“ - naudojamas duomenims pridėti atidaryto failo pabaigoje, sukuria naują failą, jei jo nėra
- „w“ - ištrina atidaryto failo turinį ir rašo naujus duomenis, sukuria naują failą, jei jo nėra
- „r“ - tik skaitymo režimas (numatytasis režimas, jei nepateikiamas argumentas)
- „r +“ - naudojamas tiek skaitymui, tiek rašymui (pradinė padėtis yra failo pradžioje)
- „b“ - failas atidaromas dvejetainiu režimu (naudingas ne teksto dvejetainiams failams), gali būti derinamas su kitais režimais
- „a +“ - naudojamas skaityti ir pridėti, sukuria naują failą, jei jo nėra
- „w +“ - naudojamas skaityti ir rašyti, sukuria naują failą, jei jo nėra
Kai kurie kodo fragmentai, naudojantys skirtingus režimus duomenims rašyti, yra išvardyti toliau.
Norėdami įrašyti naują turinį į teksto failą ištrindami esamus duomenis, naudokite šį pavyzdį:
su atviraisiais ('duomenys.txt ',' w ') kaip f:f.rašyti ("1 \ n2")
Paleidus aukščiau esantį fragmentą, 1–10 skaičių skiltyje „duomenys.txt “failas turėtų būti pakeistas dviem naujomis eilutėmis.
Norėdami pridėti eilučių teksto failo pradžioje, turite naudoti „seek“ metodą, kad grįžtumėte į pradinę failo buferio padėtį:
su atviraisiais ('duomenys.txt ',' r + ') kaip f:duomenys = f.skaityti ()
f.ieškoti (0)
f.rašyti ("- 1 \ n0 \ n")
f.rašyti (duomenys)
Paleidus aukščiau esantį fragmentą, -1 ir 0 skaičiai bus pridėti prie dviejų viršutinių „duomenų“ eilučių.txt “failus.
Norėdami pridėti duomenų failo pabaigoje, naudokite šį pavyzdį:
su atviraisiais ('duomenys.txt ',' a ') kaip f:f.rašyti ("11 \ n12")
Paleidus aukščiau esantį fragmentą, failo pabaigoje bus pridėti 11 ir 12 numeriai.
Išvada
„Python“ integruotos klasės ir metodai suteikia patikimą būdą tvarkyti tekstinius failus. Turėdami tik kelias kodo eilutes, galite manipuliuoti esamais failo duomenimis ir įterpti naujų eilučių.