os.link() în Python

Creează o legătură fizică (hard link): un al doilea nume pentru același fișier.

Sintaxă
os.link(sursa, destinatie)

Ce face os.link()

După link(a, b), a și b sunt două nume egale pentru același conținut de pe disc: modificările prin unul se văd prin celălalt, iar fișierul dispare abia când este șters ultimul nume. Legăturile fizice funcționează doar pe același disc și, de obicei, doar pentru fișiere, nu pentru directoare.

Parametri

Parametru Descriere
sursa, destinatie Fișierul existent și noul nume.

Ce returnează

None.

Exemple

Exemplul 1: Două nume, același conținut

import os
with open("original.txt", "w") as f:
    f.write("versiunea 1")
os.link("original.txt", "alt_nume.txt")
with open("alt_nume.txt", "w") as f:
    f.write("versiunea 2")
with open("original.txt") as f:
    print(f.read(), os.stat("original.txt").st_nlink)
os.remove("original.txt")
with open("alt_nume.txt") as f:
    print(f.read())

Rezultat

versiunea 2 2
versiunea 2

Greșeli frecvente

  • Creezi o legătură fizică spre alt disc și primești OSError: Invalid cross-device link.

Comenzi înrudite