Failide lugemine ja kirjutamine Pythoni abil

Reading Writing Files With Python



Faile kasutatakse andmete salvestamiseks ja korraldamiseks kettal. Kasutame sageli faile, kui peame andmeid püsivalt kõvakettale salvestama. Oletame näiteks, et loome tarkvarasüsteemi, mis säilitab õpilaste arvestust. Nüüd peame õpilaste andmed jäädavalt säilitama edaspidiseks kasutamiseks. Sel eesmärgil saame andmete salvestamiseks kasutada faile ja hiljem saame neid faile avada ja salvestatud andmetele igal ajal juurde pääseda.

Failide lugemine ja kirjutamine on Pythonis väga levinud funktsioonid. Failide loomine, lugemine ja muutmine Pythonis on lihtne. Pythonil on sisseehitatud funktsioonid failide lugemiseks ja kirjutamiseks. Failide avamiseks, kirjutamiseks ja lugemiseks saate kasutada Pythoni sisseehitatud funktsioone. Failitoimingud tehakse järgmises järjestuses:







  • Avage fail
  • Faili lugemine/kirjutamine
  • Sule fail

Pythoni abil saate luua teksti- ja binaarfaile. Tekstifailid salvestavad andmeid tähemärkide kujul ja iga rida lõpeb uue rea märgiga („ n”). Binaarfailides salvestatakse andmed baitidena (1 ja 0).



Sellest artiklist saate teada:



  • Mõned Pythoni erinevad failirežiimid
  • Kuidas faili avada
  • Kuidas faili luua
  • Kuidas andmeid faili kirjutada
  • Kuidas faili lugeda

Erinevad failirežiimid Pythonis

Pythonis olevad režiimid kirjeldavad failiga tehtava toimingu tüüpi. Faili avamisel peate määrama režiimi. Igal failil on failikäepide. Faili käepide toimib nagu kursor, mis määrab, kuhu andmeid kirjutada ja lugeda. See on teatud tüüpi asukohakursor. Järgmised hõlmavad mõningaid Pythonis erinevaid juurdepääsufailirežiime:





Režiim Kirjeldus
r Avab faili lugemisrežiimis. See režiim on vaikimisi valitud, kui te ei määra Pythonis faili avades ühtegi režiimi.
sisse Kirjutab faili. See režiim loob faili, kui seda juba pole, ja kirjutab failis olevad andmed üle.
r+ Kasutatakse faili lugemiseks ja kirjutamiseks. See näitab viga, kui faili pole olemas.
et Avab faili lisamisrežiimis. Faili käepide asub faili lõpus. See režiim ei kirjuta olemasolevaid andmeid üle, vaid alustab andmete kirjutamist faili lõpus. Uus fail luuakse, kui seda pole olemas.
a + Avab faili lugemiseks ja kirjutamiseks. See avab faili kirjutamiseks lisamisrežiimis. Andmed sisestatakse faili lõppu. Uus fail luuakse, kui seda pole olemas.
t Avab tekstirežiimis faili.

Kuidas faili avada

Faili avamiseks Pythonis kasutage sisseehitatud seadet avatud () funktsiooni. Funktsioon open () kasutab sisendina kahte argumenti, st faili nime ja töörežiimi. See funktsioon tagastab failiobjekti väljundina. Funktsiooni open () kasutamiseks pole vaja ühtegi moodulit importida. Funktsiooni open () süntaks on järgmine:

file_object= lahti(faili nimi,režiimi)

Siin tähistab „faili_nimi” tegeliku tekstifaili nime, samas kui „režiim” tähistab juurdepääsu failile või faili töörežiimi. Kui failinimi sisaldab erimärke, võite paigutada r ka faili „failinimi” ette. R paigutatakse järgmiselt:



=file_object= lahti(rfile_name,režiimi)

Näiteks võib faili nimi olla: F: newfolder myfile.txt

Kuidas faili luua

Funktsiooni open () saab kasutada Pythonis failide loomiseks. Faili loomiseks kasutage funktsiooni open () sees lisamisrežiimi (a). Looge fail, kasutades allolevat koodi:

faili = lahti('sample.txt','')

Siin luuakse uus failiobjekt. Faili objekt on nimega fail. Äsja loodud tekstifaili nimi on sample.txt. Tekstifail avatakse lisamisrežiimis. See loob uue faili, kui seda pole juba olemas. Pärast faili loomist peate faili sulgema järgmiselt.

faili.Sulge()

Faili sulgemiseks kasutatakse sisseehitatud sulgemisfunktsiooni ().

Kuidas andmeid faili kirjutada

Pythonis on failis andmete kirjutamiseks kaks funktsiooni:

  1. kirjuta ()
  2. kirjutised ()

Funktsiooni write () kasutatakse failile ühe rea või ühe stringi andmete kirjutamiseks, funktsiooni writelines () aga mitme rea andmete kirjutamiseks tekstifaili. Vaatame mõningaid näiteid andmete kirjutamiseks faili.

Funktsiooni write () kasutamine

Selles näites kasutame faili kirjutamiseks funktsiooni write (). Fail avatakse kirjutusrežiimis. n pannakse rea lõppu.

# uue failiobjekti loomine ja faili avamine kirjutusrežiimis
faili=lahti('sample.txt','sisse')
# ühe rea kirjutamine faili

faili.kirjutada('Tere tulemast linuxhint'i n')
# teise üksiku rea kirjutamine faili
faili.kirjutada('Tere tulemast tagasi')

#faili sulgemine
faili.Sulge()

Väljund

Ridad on tekstifailidesse kirjutatud.

Kui avame faili kirjutamisrežiimis ja palume funktsioonil write () kirjutada faili rohkem ridu, kirjutab see varasemad andmed üle ja tekstifaili lisatakse uued andmed.

# uue failiobjekti loomine ja faili avamine kirjutusrežiimis
faili=lahti('sample.txt','sisse')
# ühe rea kirjutamine faili

faili.kirjutada('Tere kõigile n')
# teise üksiku rea kirjutamine faili
faili.kirjutada('See on asendatud string')

#faili sulgemine
faili.Sulge()

Väljund

Väljundis on näha, et varasemad andmed asendatakse ja nende asemele lisatakse tekstifailis uued andmed.

Kui me tahame failis hoida nii varasemaid kui ka uusi andmeid, saame faili avada lisamisrežiimis järgmiselt:

# uue failiobjekti loomine ja faili avamine lisamisrežiimis
faili=lahti('sample.txt','')
# ühe rea kirjutamine faili

faili.kirjutada('Tere kõigile n')
# teise üksiku rea kirjutamine faili
faili.kirjutada('See on asendatud string n')
# teise uue rea kirjutamine faili
faili.kirjutada('See on äsja lisatud stringistring n')
#faili sulgemine
faili.Sulge()

Väljund

Kirjutusjoonte () funktsiooni kasutamine

Funktsiooni writelines () kasutatakse teksti mitme rea kirjutamiseks korraga järgmiselt.

# uue failiobjekti loomine ja faili avamine kirjutusrežiimis
faili=lahti('file1.txt','sisse')
# mitme stringi andmete salvestamine muutujale
lk = ['Tere kõigile n','Tere tulemast linuxhint'i n','me kasutame kirjeliinide funktsiooni n']
# kasutades failis andmete kirjutamiseks literaali funktsioone
faili.kirjajooned(lk)
#faili sulgemine
faili.Sulge()

Väljund

Kuidas faili lugeda

Faili lugemiseks Pythonis avage esmalt fail lugemisrežiimis. Faili lugemiseks on Pythonis kolm sisseehitatud funktsiooni. Nende hulka kuuluvad järgmised:

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

loe (): Kasutatakse failist andmete lugemiseks; tagastab kõik andmed stringina.

readline (): Loeb failist andmerida; tagastab ainult esimese rea.

readlines (): Loeb failist kõik olemasolevad read; tagastab selle loendi kujul.

Funktsiooni seek () kasutatakse failikäepideme asukoha muutmiseks. Failis olevaid andmeid lugedes asetab failikäepide end faili lõppu. Seega on failikäepide nagu kursor, kusjuures otsing () funktsioon on kursori liigutamise vahend.

Vaatame näidet failist andmete lugemise kohta.

# faili avamine lugemisrežiimis
faili=lahti('file1.txt','r')
# kasutades failist andmete lugemiseks funktsiooni read ()
# ridade salvestamine muutujaga
andmed=faili.loe()
# andmete printimine
printida('See on funktsiooni read () väljund: n')
printida(andmed)

# kasutades funktsiooni search () faili asukoha alustamiseks
faili.otsima(0)
# kasutades failist andmete lugemiseks funktsiooni readline ()
# ridade salvestamine muutujaga
andmed=faili.readline()
# andmete printimine
printida('See on readline () funktsiooni väljund: n')
printida(andmed)

# kasutades funktsiooni search () faili asukoha alustamiseks
faili.otsima(0)
# kasutades failist andmete lugemiseks funktsiooni readlines ()
# ridade salvestamine muutujaga
andmed=faili.readlines()
# andmete printimine
printida('See on readlines () funktsiooni väljund: n')
printida(andmed)
#faili sulgemine
faili.Sulge()

Väljund

Järeldus

Sageli on vaja teavet või andmeid faili salvestada. Pythonis saate hõlpsalt luua, kirjutada ja lugeda faile, kasutades Pythoni sisseehitatud funktsioone. Failide lugemiseks, kirjutamiseks ja loomiseks pole vaja oma programmi muid mooduleid importida. Failide kasutamise ajal saate kasutada ka mitut sisseehitatud juurdepääsurežiimi. Selles artiklis oleme mõne lihtsa näitega selgitanud, kuidas Pythonis faile lugeda ja kirjutada.