Tiedostojen lukeminen ja kirjoittaminen Pythonilla

Reading Writing Files With Python



Tiedostoja käytetään tietojen tallentamiseen ja järjestämiseen levylle. Käytämme usein tiedostoja, kun meidän on tallennettava tiedot pysyvästi kiintolevylle. Oletetaan esimerkiksi, että rakennamme ohjelmistojärjestelmän, joka ylläpitää opiskelijarekisteriä. Nyt meidän on tallennettava oppilastiedot pysyvästi tulevaa käyttöä varten. Tätä tarkoitusta varten voimme käyttää tiedostoja tietojen tallentamiseen, ja myöhemmin voimme avata nämä tiedostot ja käyttää tallennettuja tietoja milloin tahansa.

Tiedostojen lukeminen ja kirjoittaminen ovat hyvin yleisiä Pythonin toimintoja. Tiedostojen luominen, lukeminen ja muokkaaminen Pythonissa on helppoa. Pythonissa on sisäänrakennetut toiminnot tiedostojen lukemiseen ja kirjoittamiseen. Voit avata, kirjoittaa ja lukea tiedostoja Pythonin sisäänrakennettujen toimintojen avulla. Tiedostooperaatiot suoritetaan seuraavassa järjestyksessä:







  • Avaa tiedosto
  • Lue/kirjoita tiedosto
  • Sulje tiedosto

Pythonin avulla voit luoda tekstitiedostoja ja binaaritiedostoja. Tekstitiedostot tallentavat tietoja merkkien muodossa ja jokainen rivi päättyy uuden rivin merkkiin (' n'). Binaaritiedostoissa tiedot tallennetaan tavuina (1 ja 0).



Tässä artikkelissa opit:



  • Jotkut Pythonin eri tiedostotiloista
  • Kuinka avata tiedosto
  • Tiedoston luominen
  • Kuinka kirjoittaa tietoja tiedostoon
  • Tiedoston lukeminen

Eri tiedostotilat Pythonissa

Pythonin tilat kuvaavat tiedostolle suoritettavan toiminnon tyyppiä. Kun avaat tiedoston, sinun on määritettävä tila. Jokaisella tiedostolla on tiedostokahva. Tiedoston kahva toimii kuin kohdistin, joka määrittää, minne kirjoittaa ja lukea tietoja. Se on eräänlainen sijainnin osoitin. Seuraavassa on joitain Pythonin eri käyttöoikeustiedostotiloja:





-Tila Kuvaus
r Avaa tiedoston lukutilassa. Tämä tila on oletusarvoisesti valittu, jos et määritä mitään tilaa avatessasi tiedostoa Pythonissa.
sisään Kirjoittaa tiedoston. Tämä tila luo tiedoston, jos tiedostoa ei ole jo olemassa, ja korvaa tiedoston tiedot.
r+ Käytetään tiedoston lukemiseen ja kirjoittamiseen. Se näyttää virheen, jos tiedostoa ei ole olemassa.
kohteeseen Avaa tiedoston liitetilassa. Tiedoston kahva sijaitsee tiedoston lopussa. Tämä tila ei korvaa olemassa olevia tietoja, mutta aloittaa tietojen kirjoittamisen tiedoston lopussa. Uusi tiedosto luodaan, jos tiedostoa ei ole olemassa.
a + Avaa tiedoston lukemista ja kirjoittamista varten. Tämä avaa tiedoston liitetiedostossa kirjoittamista varten. Tiedot lisätään tiedoston loppuun. Uusi tiedosto luodaan, jos tiedostoa ei ole olemassa.
t Avaa tiedoston tekstitilassa.

Tiedoston avaaminen

Avaa tiedosto Pythonissa käyttämällä sisäänrakennettua avata() toiminto. Funktio open () ottaa syötteeksi kaksi argumenttia, eli tiedoston nimen ja toimintatavan. Tämä toiminto palauttaa tiedosto -objektin tulostena. Open () -toiminnon käyttämiseksi ei tarvitse tuoda mitään moduulia. Seuraava on open () -funktion syntaksi:

file_object= avata(Tiedoston nimi,-tilaan)

Tässä 'tiedoston_nimi' edustaa varsinaisen tekstitiedoston nimeä, kun taas 'tila' edustaa tiedoston käyttöoikeutta tai tiedoston toimintatilaa. Voit myös sijoittaa r ennen 'tiedoston_nimeä', jos tiedoston nimi sisältää erikoismerkkejä. R sijoitetaan seuraavasti:



=file_object= avata(rfile_name,-tilaan)

Tiedostonimi voi esimerkiksi olla: F: newfolder myfile.txt

Tiedoston luominen

Open () -toimintoa voidaan käyttää tiedostojen luomiseen Pythonissa. Luo tiedosto käyttämällä liitetilaa (a) open () -toiminnon sisällä. Luo tiedosto alla olevan koodin avulla:

tiedosto = avata('sample.txt','')

Tässä luodaan uusi tiedosto -objekti. Tiedosto -objektin nimi on tiedosto. Äskettäin luodun tekstitiedoston nimi on sample.txt. Tekstitiedosto avataan liitetiedostossa. Se luo uuden tiedoston, jos tiedostoa ei ole jo olemassa. Kun olet luonut tiedoston, sinun on suljettava tiedosto seuraavalla tavalla:

tiedosto.kiinni()

Sisäänrakennettua close () -toimintoa käytetään tiedoston sulkemiseen.

Kuinka kirjoittaa tietoja tiedostoon

Pythonissa on kaksi toimintoa, joita käytetään tietojen kirjoittamiseen tiedostoon:

  1. kirjoittaa()
  2. kirjoitusviivat ()

Kirjoita () -toimintoa käytetään yksirivisen tai yhden merkkijonon tietojen kirjoittamiseen tiedostoon, kun taas kirjoitusviivat () -funktiota käytetään useiden rivien tietojen kirjoittamiseen tekstitiedostoon. Katsotaanpa esimerkkejä tietojen kirjoittamisesta tiedostoon.

Kirjoitus () -toiminnon käyttäminen

Tässä esimerkissä käytämme write () -funktiota tietojen kirjoittamiseen tiedostoon. Tiedosto avataan kirjoitustilassa. n sijoitetaan rivin lopun määrittämiseksi.

# uuden tiedostoobjektin luominen ja tiedoston avaaminen kirjoitustilassa
tiedosto=avata('sample.txt','sisään')
# yhden rivin kirjoittaminen tiedostoon

tiedosto.kirjoittaa('Tervetuloa linuxhintiin n'')
# toisen rivin kirjoittaminen tiedostoon
tiedosto.kirjoittaa('Tervetuloa takaisin')

#sulje tiedosto
tiedosto.kiinni()

Lähtö

Rivit on kirjoitettu tekstitiedostoihin.

Jos avaamme tiedoston kirjoitustilassa ja pyydämme write () -funktiota kirjoittamaan lisää rivejä tiedostoon, se korvaa aiemmat tiedot ja uusia tietoja lisätään tekstitiedostoon.

# uuden tiedostoobjektin luominen ja tiedoston avaaminen kirjoitustilassa
tiedosto=avata('sample.txt','sisään')
# yhden rivin kirjoittaminen tiedostoon

tiedosto.kirjoittaa('Hei kaikki n'')
# toisen rivin kirjoittaminen tiedostoon
tiedosto.kirjoittaa('Tämä on korvattu merkkijono')

#sulje tiedosto
tiedosto.kiinni()

Lähtö

Tuloksessa voidaan nähdä, että aiemmat tiedot korvataan ja uusia tietoja lisätään tilalle tekstitiedostoon.

Jos haluamme säilyttää sekä aiemmat että uudet tiedot tiedostossa, voimme avata tiedoston liitetiedostossa seuraavasti:

# uuden tiedostoobjektin luominen ja tiedoston avaaminen liite -tilassa
tiedosto=avata('sample.txt','')
# yhden rivin kirjoittaminen tiedostoon

tiedosto.kirjoittaa('Hei kaikki n'')
# toisen rivin kirjoittaminen tiedostoon
tiedosto.kirjoittaa('Tämä on korvattu merkkijono n'')
# uuden yhden rivin kirjoittaminen tiedostoon
tiedosto.kirjoittaa('Tämä on juuri lisätty merkkijono n'')
#sulje tiedosto
tiedosto.kiinni()

Lähtö

Kirjoitusviivat () -toiminnon käyttäminen

Kirjoitusviivat () -funktiota käytetään kirjoittamaan useita rivejä tekstiin kerralla seuraavasti:

# uuden tiedostoobjektin luominen ja tiedoston avaaminen kirjoitustilassa
tiedosto=avata('file1.txt','sisään')
# useiden merkkijonotietojen tallentaminen muuttujaan
s = ['Hei kaikki n'','Tervetuloa linuxhintiin n'','Käytämme kirjoitusviivatoimintoa n'']
# käyttää kirjoitusviivatoimintoja tietojen kirjoittamiseen tiedostoon
tiedosto.kirjoituslinjat(s)
#sulje tiedosto
tiedosto.kiinni()

Lähtö

Tiedoston lukeminen

Jos haluat lukea tiedoston Pythonissa, avaa tiedosto ensin lukutilassa. Pythonissa on kolme sisäänrakennettua toimintoa tiedoston lukemiseen. Näitä ovat seuraavat:

  1. lukea()
  2. Lue rivi()
  3. lukurivit ()

lukea(): Käytetään tietojen lukemiseen tiedostosta; palauttaa koko datan merkkijonon muodossa.

Lue rivi(): Lukee tietorivin tiedostosta; palauttaa vain ensimmäisen rivin.

lukurivit (): Lukee kaikki olemassa olevat rivit tiedostosta; palauttaa sen luettelon muodossa.

Seek () -toimintoa käytetään muuttamaan tiedoston kahvan sijaintia. Kun tiedostoa luetaan, tiedoston kahva sijoittaa itsensä tiedoston loppuun. Tiedoston kahva on siten kuin kohdistin, ja Seek () -toiminto on keino siirtää kohdistinta.

Katsotaanpa esimerkkiä tietojen lukemisesta tiedostosta.

# tiedoston avaaminen lukutilassa
tiedosto=avata('file1.txt','r')
# lukee tiedoston tiedot luku- () -toiminnolla
# rivien tallentaminen muuttujaan
tiedot=tiedosto.lukea()
# tietojen tulostaminen
Tulosta('Tämä on luku () -funktion lähtö: n'')
Tulosta(tiedot)

# käyttämällä haku () -toimintoa tuodaksesi tiedoston sijainnin alkuun
tiedosto.etsiä(0)
# lukee tiedoston tiedot readline () -toiminnolla
# rivien tallentaminen muuttujaan
tiedot=tiedosto.Lue rivi()
# tietojen tulostaminen
Tulosta('Tämä on readline () -funktion lähtö: n'')
Tulosta(tiedot)

# käyttämällä haku () -toimintoa tuodaksesi tiedoston sijainnin alkuun
tiedosto.etsiä(0)
# lukee tiedoston tiedot readlines () -toiminnon avulla
# rivien tallentaminen muuttujaan
tiedot=tiedosto.lukuviivat()
# tietojen tulostaminen
Tulosta('Tämä on readlines () -funktion lähtö: n'')
Tulosta(tiedot)
#sulje tiedosto
tiedosto.kiinni()

Lähtö

Johtopäätös

Usein on tarpeen tallentaa tietoja tiedostoon. Pythonissa voit helposti luoda, kirjoittaa ja lukea tiedostoja Pythonin sisäänrakennettujen toimintojen avulla. Sinun ei tarvitse tuoda muita moduuleja ohjelmaan, kun haluat lukea, kirjoittaa ja luoda tiedostoja. Voit myös käyttää useita sisäänrakennettuja käyttötiloja tiedostoja käytettäessä. Tässä artikkelissa olemme selittäneet kuinka lukea ja kirjoittaa tiedostoja Pythonissa muutamalla yksinkertaisella esimerkillä.