Operacje na ścieżkach
Łącz, rozwiązuj i analizuj ścieżki
Operacje na ścieżkach to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.
Sprawdzanie i przekształcanie ścieżek
Oprócz tworzenia ścieżek pathlib umożliwia przekształcanie ich do postaci bezwzględnej, sprawdzanie relacji między nimi oraz odczytywanie metadanych systemu plików — wszystko to bez używania os.path.
Ścieżki bezwzględne a względne
is_absolute() informuje, czy ścieżka jest zakotwiczona w katalogu głównym. Ścieżki względne są interpretowane względem bieżącego katalogu.
from pathlib import Path
print(Path('docs/file.txt').is_absolute())
print(Path('/usr/local').is_absolute())Rozwiązywanie ścieżki
resolve() przekształca ścieżkę w ścieżkę bezwzględną oraz upraszcza segmenty . i ... Jest podstawową metodą normalizowania ścieżek.
from pathlib import Path
p = Path('a/b/../c/file.txt')
print(p.resolve())Łączenie za pomocą joinpath
Oprócz operatora / metoda joinpath() dołącza jeden lub więcej elementów. Jest przydatna, gdy elementy pochodzą z listy.
from pathlib import Path
base = Path('project')
parts = ['src', 'main', 'app.py']
print(base.joinpath(*parts))Ścieżka względna między dwiema lokalizacjami
relative_to() wyznacza ścieżkę jednej lokalizacji względem innej. Zgłasza wyjątek, jeśli ścieżka nie znajduje się w podanej ścieżce bazowej.
from pathlib import Path
full = Path('/home/user/docs/report.txt')
rel = full.relative_to('/home/user')
print(rel)Sprawdzanie prefiksu za pomocą is_relative_to
is_relative_to() bezpiecznie sprawdza, czy jedna ścieżka znajduje się pod inną, zwracając wartość boolowską zamiast zgłaszać wyjątek.
from pathlib import Path
p = Path('/home/user/docs/file.txt')
print(p.is_relative_to('/home/user'))
print(p.is_relative_to('/etc'))Wiele rozszerzeń
W przypadku nazw takich jak archive.tar.gz właściwość suffixes zawiera listę wszystkich rozszerzeń, natomiast suffix zwraca tylko ostatnie z nich.
from pathlib import Path
p = Path('archive.tar.gz')
print(p.suffix)
print(p.suffixes)Kotwica i dysk
Właściwość anchor zawiera główny element ścieżki. W systemach POSIX jest to zazwyczaj /, natomiast w systemie Windows obejmuje ona literę dysku.
from pathlib import Path
p = Path('/usr/local/bin')
print('anchor:', p.anchor)
print('parts:', p.parts)Odczytywanie metadanych pliku
stat() zwraca metadane systemu plików, takie jak rozmiar wyrażony w bajtach. W tym przykładzie tworzymy plik i odczytujemy jego rozmiar.
from pathlib import Path
p = Path('meta.txt')
p.write_text('hello world')
print('size:', p.stat().st_size, 'bytes')Zmienianie nazw i przenoszenie
rename() zmienia lokalizację lub nazwę ścieżki. W połączeniu z metodami tworzenia ścieżek pozwala zwięźle reorganizować pliki.
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())Rozwijanie skrótu katalogu domowego
expanduser() zastępuje początkowy znak ~ katalogiem domowym użytkownika, naśladując sposób, w jaki rozwija go powłoka.
from pathlib import Path
p = Path('~/configs/app.ini')
expanded = p.expanduser()
print(expanded.is_absolute())Szybkie sprawdzenie
Co metoda resolve() robi ze ścieżką?
Podsumowanie
Poznali Państwo sposoby łączenia, rozwiązywania i sprawdzania ścieżek.
resolvetworzy bezwzględną, znormalizowaną ścieżkę.relative_toiis_relative_toporównują lokalizacje.suffix,suffixes,anchoripartsujawniają strukturę ścieżki.statodczytuje metadane, arenameprzenosi pliki.
Często zadawane pytania
Czy lekcja „Operacje na ścieżkach” jest bezpłatna?
Tak — pełny tekst „Operacje na ścieżkach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Operacje na ścieżkach”?
Łącz, rozwiązuj i analizuj ścieżki Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Operacje na ścieżkach”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Obiekt Path
- Odczyt i zapis plików
- Wzorce glob i iterowanie
- Operacje na ścieżkach