Tiedostojen lukeminen ja kirjoittaminen
Käytä read_text- ja write_text-metodeja
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_textkäsittelevät koko tiedoston merkkijonona.write_bytes/read_byteskä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 tiedostotunlink-metodilla.
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
- Path-olio
- Tiedostojen lukeminen ja kirjoittaminen
- Tiedostokuviohaku ja iterointi
- Polkujen käsittely