Python Academy · Oppitunti

Tiedostojen lukeminen ja kirjoittaminen

Käytä read_text- ja write_text-metodeja

Oppitunti 2/413 vaihetta

Tiedostojen lukeminen ja kirjoittaminen on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 4 oppituntia.

Tiedostojen syöttö ja tulostus pathlib-tavalla

pathlib-polut voivat lukea ja kirjoittaa tiedostoja suoraan ilman erillistä open()-kutsua yksinkertaisissa tapauksissa. Metodit read_text, write_text, read_bytes ja write_bytes kattavat yleisimmät tarpeet.

write_text

write_text() kirjoittaa merkkijonon tiedostoon, luo tiedoston tarvittaessa ja korvaa aiemman sisällön. Se palauttaa kirjoitettujen merkkien määrän.

from pathlib import Path

p = Path('greeting.txt')
n = p.write_text('Hello, pathlib!')
print('wrote', n, 'characters')

read_text

read_text() avaa tiedoston, lukee sen kokonaan ja sulkee sen. Se palauttaa koko sisällön merkkijonona.

from pathlib import Path

p = Path('greeting.txt')
p.write_text('Hello, pathlib!')
content = p.read_text()
print(content)

Tiedostoa ei tarvitse sulkea itse

Nämä apumetodit avaavat ja sulkevat tiedoston puolestanne, joten yksittäisiä luku- ja kirjoitusoperaatioita varten ette tarvitse with open(...) -lohkon toistuvaa pohjakoodia.

from pathlib import Path

p = Path('notes.txt')
p.write_text('line one')
print(p.read_text())

Merkistön määrittäminen

Välittäkää encoding-argumentti tekstin merkistön määrittämiseksi. UTF-8 on turvallinen ja eksplisiittinen valinta siirrettävyyden kannalta.

from pathlib import Path

p = Path('uni.txt')
p.write_text('cafe resume', encoding='utf-8')
print(p.read_text(encoding='utf-8'))

Tavujen käsitteleminen

Käyttäkää binääridatassa metodeja write_bytes() ja read_bytes(), jotka käsittelevät merkkijonojen sijaan bytes-olioita.

from pathlib import Path

p = Path('data.bin')
p.write_bytes(b'\x00\x01\x02')
print(p.read_bytes())

Liittäminen ja edistyneet tilat

Kertaluonteiset apumetodit korvaavat aina aiemman sisällön. Kun haluatte lisätä sisältöä tai käsitellä tiedostoa suoratoistona, kutsukaa polun open()-metodia saadaksenne tavallisen tiedosto-olion, jota voi käyttää with-lohkossa.

from pathlib import Path

p = Path('log.txt')
p.write_text('start\n')
with p.open('a') as f:
    f.write('more\n')
print(p.read_text())

Rivien lukeminen yksi kerrallaan

Lukekaa ensin koko teksti ja jakakaa se sitten riveiksi tai avatkaa polku ja käykää se läpi iteraattorilla. read_text()-kutsun tuloksen jakaminen on yksinkertaisin tapa pienille tiedostoille.

from pathlib import Path

p = Path('multi.txt')
p.write_text('a\nb\nc\n')
for line in p.read_text().splitlines():
    print('line:', line)

Isäntähakemistojen luominen

Kirjoitus epäonnistuu, jos isäntähakemistoa ei ole olemassa. Luokaa ensin hakemistopuu isäntähakemistoon kohdistuvalla kutsulla mkdir(parents=True, exist_ok=True).

from pathlib import Path

p = Path('out/sub/file.txt')
p.parent.mkdir(parents=True, exist_ok=True)
p.write_text('done')
print(p.read_text())

Tiedostojen poistaminen

Poistakaa tiedosto metodilla unlink(). Argumentti missing_ok=True estää virheen, jos tiedosto on jo poistettu.

from pathlib import Path

p = Path('temp.txt')
p.write_text('bye')
print(p.exists())
p.unlink(missing_ok=True)
print(p.exists())

Lue, muokkaa ja kirjoita

Yleinen toimintamalli on lukea tiedosto, muokata sen tekstiä ja kirjoittaa se takaisin. pathlib tekee tästä siistin kolmen rivin operaation.

from pathlib import Path

p = Path('caps.txt')
p.write_text('hello world')
p.write_text(p.read_text().upper())
print(p.read_text())

Pikatarkistus

Mitä Path('a.txt').write_text('hi') tekee, jos tiedosto on jo olemassa?

Kertaus

Opitte lukemaan ja kirjoittamaan tiedostoja pathlib-kirjastolla.

  • write_text/read_text käsittelevät koko tiedoston merkkijonona.
  • write_bytes/read_bytes käsittelevät binääridataa.
  • Käyttäkää open()-metodia sisällön lisäämiseen tai suoratoistokäsittelyyn.
  • Luokaa isäntähakemistot mkdir-metodilla ja poistakaa tiedostot unlink-metodilla.
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
76
Oppitunnit
320

Usein kysytyt kysymykset

Onko oppitunti ”Tiedostojen lukeminen ja kirjoittaminen” ilmainen?

Kyllä – oppitunnin ”Tiedostojen lukeminen ja kirjoittaminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Tiedostojen lukeminen ja kirjoittaminen”?

Käytä read_text- ja write_text-metodeja Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Tiedostojen lukeminen ja kirjoittaminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?

Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Path-olio
  2. Tiedostojen lukeminen ja kirjoittaminen
  3. Tiedostokuviohaku ja iterointi
  4. Polkujen käsittely
← Takaisin: Python Academy