Python Academy · Oppitunti

Polkujen käsittely

Yhdistä, ratkaise ja tutki polkuja

Oppitunti 4/413 vaihetta

Polkujen käsittely 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.

Polkujen tarkasteleminen ja muokkaaminen

Polkujen rakentamisen lisäksi pathlib mahdollistaa niiden muuntamisen absoluuttiseen muotoon, niiden välisten suhteiden tarkistamisen ja tiedostojärjestelmän metatietojen lukemisen ilman os.path-moduulia.

Absoluuttinen ja suhteellinen polku

is_absolute() ilmoittaa, onko polku sidottu juureen. Suhteelliset polut tulkitaan nykyisen hakemiston perusteella.

from pathlib import Path

print(Path('docs/file.txt').is_absolute())
print(Path('/usr/local').is_absolute())

Polun ratkaiseminen

resolve() muuttaa polun absoluuttiseksi ja yhdistää .- ja ..-osat. Se on ensisijainen tapa normalisoida polkuja.

from pathlib import Path

p = Path('a/b/../c/file.txt')
print(p.resolve())

Yhdistäminen joinpath-metodilla

/-operaattorin lisäksi joinpath() lisää yhden tai useamman osan polkuun. Se on kätevä, kun osat tulevat listasta.

from pathlib import Path

base = Path('project')
parts = ['src', 'main', 'app.py']
print(base.joinpath(*parts))

Kahden polun välinen suhteellinen polku

relative_to() laskee yhden sijainnin polun suhteessa toiseen. Se aiheuttaa poikkeuksen, jos polku ei sijaitse annetun perustan alla.

from pathlib import Path

full = Path('/home/user/docs/report.txt')
rel = full.relative_to('/home/user')
print(rel)

Etuliitteen tarkistaminen is_relative_to-metodilla

is_relative_to() tarkistaa turvallisesti, sijaitseeko toinen polku toisen alla, ja palauttaa poikkeuksen aiheuttamisen sijaan totuusarvon.

from pathlib import Path

p = Path('/home/user/docs/file.txt')
print(p.is_relative_to('/home/user'))
print(p.is_relative_to('/etc'))

Useita tiedostopäätteitä

Nimissä kuten archive.tar.gz suffixes luettelee kaikki päätteet, kun taas suffix antaa vain viimeisen.

from pathlib import Path

p = Path('archive.tar.gz')
print(p.suffix)
print(p.suffixes)

Juuri ja levyasema

anchor-ominaisuus on polun juuriosa. POSIX-järjestelmissä se on yleensä /; Windowsissa se sisältää myös levyaseman kirjaimen.

from pathlib import Path

p = Path('/usr/local/bin')
print('anchor:', p.anchor)
print('parts:', p.parts)

Tiedoston metatietojen lukeminen

stat() palauttaa tiedostojärjestelmän metatietoja, kuten koon tavuina. Tässä luomme tiedoston ja luemme sen koon.

from pathlib import Path

p = Path('meta.txt')
p.write_text('hello world')
print('size:', p.stat().st_size, 'bytes')

Nimeäminen uudelleen ja siirtäminen

rename() muuttaa polun sijaintia tai nimeä. Yhdistettynä rakennusmetodeihin se tekee tiedostojen uudelleenjärjestelystä ytimekästä.

from pathlib import Path

old = Path('old_name.txt')
old.write_text('data')
new = old.with_name('new_name.txt')
old.rename(new)
print(new.exists(), new.read_text())

Kotihakemiston lyhenteen laajentaminen

expanduser() korvaa alussa olevan ~-merkin käyttäjän kotihakemistolla samalla tavoin kuin komentotulkki laajentaa sen.

from pathlib import Path

p = Path('~/configs/app.ini')
expanded = p.expanduser()
print(expanded.is_absolute())

Pikatarkistus

Mitä resolve()-metodi tekee polulle?

Kertaus

Opitte yhdistämään, ratkaisemaan ja tarkastelemaan polkuja.

  • resolve muodostaa absoluuttisen ja normalisoidun polun.
  • relative_to ja is_relative_to vertaavat sijainteja.
  • suffix, suffixes, anchor ja parts paljastavat polun rakenteen.
  • stat lukee metatietoja ja rename siirtää tiedostoja.
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 ”Polkujen käsittely” ilmainen?

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

Yhdistä, ratkaise ja tutki polkuja 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 ”Polkujen käsittely”-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