Sökvägsbearbetning
Slå ihop, lös upp och inspektera sökvägar
Sökvägsbearbetning är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.
Inspektera och omvandla sökvägar
Utöver att skapa sökvägar kan pathlib omvandla dem till absolut form, kontrollera relationer mellan dem och läsa metadata från filsystemet, utan att du behöver använda os.path.
Absoluta och relativa sökvägar
is_absolute() anger om en sökväg är förankrad i roten. Relativa sökvägar tolkas utifrån den aktuella katalogen.
from pathlib import Path
print(Path('docs/file.txt').is_absolute())
print(Path('/usr/local').is_absolute())Lös upp en sökväg
resolve() omvandlar en sökväg till en absolut sökväg och komprimerar segmenten . och ... Det är standardmetoden för att normalisera sökvägar.
from pathlib import Path
p = Path('a/b/../c/file.txt')
print(p.resolve())Sammanfoga med joinpath
Utöver operatorn / lägger joinpath() till en eller flera komponenter. Den är praktisk när delarna kommer från en lista.
from pathlib import Path
base = Path('project')
parts = ['src', 'main', 'app.py']
print(base.joinpath(*parts))Relativa sökvägar mellan två platser
relative_to() beräknar sökvägen till en plats relativt en annan. Den utlöser ett fel om sökvägen inte ligger under den angivna basen.
from pathlib import Path
full = Path('/home/user/docs/report.txt')
rel = full.relative_to('/home/user')
print(rel)Kontrollera ett prefix med is_relative_to
is_relative_to() kontrollerar säkert om en sökväg ligger under en annan och returnerar ett booleskt värde i stället för att utlösa ett fel.
from pathlib import Path
p = Path('/home/user/docs/file.txt')
print(p.is_relative_to('/home/user'))
print(p.is_relative_to('/etc'))Flera filändelser
För namn som archive.tar.gz listar suffixes alla filändelser, medan suffix endast anger den sista.
from pathlib import Path
p = Path('archive.tar.gz')
print(p.suffix)
print(p.suffixes)Förankring och enhet
Egenskapen anchor är sökvägens rotkomponent. På POSIX är den vanligtvis /; i Windows innehåller den enhetsbokstaven.
from pathlib import Path
p = Path('/usr/local/bin')
print('anchor:', p.anchor)
print('parts:', p.parts)Läs filmetadata
stat() returnerar metadata från filsystemet, till exempel storleken i byte. Här skapar vi en fil och läser dess storlek.
from pathlib import Path
p = Path('meta.txt')
p.write_text('hello world')
print('size:', p.stat().st_size, 'bytes')Byta namn och flytta
rename() ändrar en sökvägs plats eller namn. Tillsammans med metoderna för att skapa sökvägar gör den omorganisering av filer kortfattad.
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())Expandera genvägen till hemkatalogen
expanduser() ersätter ett inledande ~ med användarens hemkatalog, på samma sätt som skalet expanderar det.
from pathlib import Path
p = Path('~/configs/app.ini')
expanded = p.expanduser()
print(expanded.is_absolute())Snabbkontroll
Vad gör metoden resolve() med en sökväg?
Sammanfattning
Du har lärt dig att sammanfoga, lösa upp och inspektera sökvägar.
resolveskapar en absolut och normaliserad sökväg.relative_toochis_relative_tojämför platser.suffix,suffixes,anchorochpartsvisar sökvägens struktur.statläser metadata;renameflyttar filer.
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 320
Vanliga frågor
Är lektionen ”Sökvägsbearbetning” gratis?
Ja – hela texten till ”Sökvägsbearbetning” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Sökvägsbearbetning”?
Slå ihop, lös upp och inspektera sökvägar Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Python Academy?
Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Sökvägsbearbetning”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Python Academy-lektionen?
Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Path-objektet
- Läsa och skriva filer
- Globbing och iteration
- Sökvägsbearbetning