Voglio copiare un file src
nella destinazione dst
, ma se è un collegamento simbolico, conservare il collegamento anziché copiare il contenuto del file. Dopo aver eseguito la copia, os.readlink
deve restituire lo stesso per src
e dst
.Copia di un collegamento simbolico in Python
Il modulo shutil
ha diverse funzioni, come ad esempio copyfile
, copy
e copy2
, ma tutti questi copierà i contenuti del file, e non preservare il link. shutil.move
ha il comportamento corretto, a parte il fatto che rimuove il file originale.
Esiste un modo integrato in Python per eseguire una copia di file preservando i collegamenti simbolici?
Ho provato a usare 'copytree' per fare ciò e ho ottenuto un errore OSE lamentando che' src' non era una directory; Penso che il controllo di 'os.path.islink' sia davvero l'unico modo. – senderle
Penso che sia strano non ci sia una funzione dedicata per copiare i file (piuttosto che le directory come fa copytree) che preserva i collegamenti simbolici piuttosto che risolverli, ma non sono riuscito a trovarli. Sembra che questo sia l'unico modo ... –