Ce face Path.symlink_to(), hardlink_to() și readlink()
p.symlink_to(tinta) face din p o legătură simbolică (scurtătură) spre tinta. p.hardlink_to(tinta) creează o legătură fizică: un al doilea nume pentru același fișier de pe disc. readlink() returnează calea spre care arată o legătură simbolică.
Atenție la ordine: metoda se apelează pe legătura nouă, iar argumentul este fișierul existent (invers față de os.symlink(sursa, legatura)). Pe Windows, legăturile simbolice pot cere drepturi speciale.
Parametri
| Parametru | Descriere |
|---|---|
tinta |
Fișierul sau directorul existent. |
target_is_directory |
Doar pe Windows: legătura este spre un director. |
Ce returnează
readlink: un Path. Celelalte: None.
Exemple
Exemplul 1: Legături simbolice și fizice
from pathlib import Path
Path("config_v2.ini").write_text("versiunea 2")
Path("config.ini").symlink_to("config_v2.ini")
print(Path("config.ini").readlink(), Path("config.ini").read_text())
Path("copie_fizica.ini").hardlink_to("config_v2.ini")
print(Path("config_v2.ini").stat().st_nlink)
Rezultat
config_v2.ini versiunea 2
2
Greșeli frecvente
- Inversezi argumentele și primești
FileExistsError, pentru că încerci să creezi legătura chiar peste fișierul existent.
Comenzi înrudite
os.symlink() și os.readlink(): Creează o legătură simbolică și citește destinația ei.os.link(): Creează o legătură fizică (hard link): un al doilea nume pentru același fișier.Path.resolve(), absolute(), relative_to() și verificările de cale: Transformă căile în căi absolute sau relative și le compară.