Python Academy · Lektion

Sökvägsbearbetning

Slå ihop, lös upp och inspektera sökvägar

Lektion 4 av 413 steg

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.

  • resolve skapar en absolut och normaliserad sökväg.
  • relative_to och is_relative_to jämför platser.
  • suffix, suffixes, anchor och parts visar sökvägens struktur.
  • stat läser metadata; rename flyttar filer.
Gratis att börja

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

  1. Path-objektet
  2. Läsa och skriva filer
  3. Globbing och iteration
  4. Sökvägsbearbetning
← Tillbaka till Python Academy