Python Academy · Oppitunti

Tiedostopolkujen käsittely pathlib-moduulilla

Siirtykää tiedostopoluissa ja muokatkaa niitä modernilla pathlib-moduulilla.

Oppitunti 4/414 vaihetta

Tiedostopolkujen käsittely pathlib-moduulilla on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/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.

Johdanto

pathlib tarjoaa oliopohjaisen rajapinnan tiedostojärjestelmän poluille ja korvaa hauraan os.path-merkkijonojen käsittelyn.

Polun luominen

from pathlib import Path; p = Path('data/file.txt') luo polkuobjektin. Se toimii kaikilla alustoilla.
from pathlib import Path
p = Path('data/file.txt')
print(p)

Polkujen yhdistäminen /-operaattorilla

p = Path('data') / 'subdir' / 'file.txt' käyttää /-operaattoria polun osien yhdistämiseen — lopputulos on selkeä ja alustariippumaton.
from pathlib import Path
p = Path('data') / 'sub' / 'file.txt'
print(p)

Polun ominaisuudet

p.name antaa tiedostonimen. p.stem antaa nimen ilman päätettä. p.suffix antaa päätteen. p.parent antaa hakemiston.
from pathlib import Path
p = Path('data/report.csv')
print(p.name, p.stem, p.suffix, p.parent)

Olemassaolon tarkistaminen

p.exists() palauttaa True, jos polku on olemassa. p.is_file() tarkistaa tiedostot. p.is_dir() tarkistaa hakemistot.
from pathlib import Path
p = Path('/tmp')
print(p.exists(), p.is_dir(), p.is_file())

Lukeminen ja kirjoittaminen

p.read_text(encoding='utf-8') lukee tiedoston merkkijonoksi. p.write_text('content') kirjoittaa merkkijonon tiedostoon.
from pathlib import Path
p = Path('/tmp/test_pathlib.txt')
p.write_text('hello pathlib')
print(p.read_text())

Hakemiston sisällön läpikäynti

for child in p.iterdir(): tuottaa Path-objektit kaikille kohteille. p.glob('*.py') etsii kuviota vastaavat kohteet.
from pathlib import Path
for child in Path('/tmp').iterdir():
    if child.suffix == '.txt':
        print(child.name)
        break

Rekursiivinen glob-haku

p.rglob('*.json') etsii rekursiivisesti kaikki .json-tiedostot polun p alta. Tämä on paljon selkeämpää kuin os.walk().
from pathlib import Path
for f in Path('/tmp').rglob('*.txt'):
    print(f.name)
    break

Hakemistojen luominen

p.mkdir(parents=True, exist_ok=True) luo hakemiston ja kaikki sen isäntähakemistot. exist_ok=True estää FileExistsError-poikkeuksen.
from pathlib import Path
Path('/tmp/test_dir/sub').mkdir(parents=True, exist_ok=True)
print('created')

Nimeäminen uudelleen ja poistaminen

p.rename(new) nimeää tiedoston uudelleen. p.unlink() poistaa tiedoston. p.rmdir() poistaa tyhjän hakemiston.
from pathlib import Path
p = Path('/tmp/test_pathlib.txt')
if p.exists():
    p.unlink()
    print('deleted')

Absoluuttiset ja suhteelliset polut

p.resolve() palauttaa absoluuttisen polun symboliset linkit ratkaistuina. p.relative_to(base) laskee suhteellisen polun.
from pathlib import Path
print(Path('.').resolve())

Pikatarkistus

Millä operaattorilla Path-objektin osat yhdistetään pathlib-kirjastossa?

Kertaus

pathlib Path: / yhdistää osat. .name/.stem/.suffix/.parent käsittelevät polun osia. read_text/write_text hoitavat tiedostojen luku- ja kirjoitusoperaatiot. mkdir, unlink ja glob hoitavat tiedostojärjestelmän toimintoja.

Jatkakaa eteenpäin

Hienosti tehty! Siirtykää seuraavaan oppituntiin jatkaaksenne etenemistä.
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 ”Tiedostopolkujen käsittely pathlib-moduulilla” ilmainen?

Kyllä – oppitunnin ”Tiedostopolkujen käsittely pathlib-moduulilla” 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 ”Tiedostopolkujen käsittely pathlib-moduulilla”?

Siirtykää tiedostopoluissa ja muokatkaa niitä modernilla pathlib-moduulilla. 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 4/4.

Kuinka kauan ”Tiedostopolkujen käsittely pathlib-moduulilla”-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. Tiedostojen avaaminen ja lukeminen
  2. Tiedostoihin kirjoittaminen ja tietojen lisääminen
  3. Tiedostojen käsittely with-lauseella
  4. Tiedostopolkujen käsittely pathlib-moduulilla
← Takaisin: Python Academy