Quiero copiar un archivo src
al destino dst
, pero si src
pasa a ser un enlace simbólico, conserve el enlace en lugar de copiar el contenido del archivo. Después de realizar la copia, os.readlink
debe devolver lo mismo para src
y dst
.Copiando un enlace simbólico en Python
El módulo shutil
tiene varias funciones, tales como copyfile
, copy
y copy2
, pero todos estos copiará los contenidos del archivo, y no conservará el enlace. shutil.move
tiene el comportamiento correcto, aparte del hecho de que elimina el archivo original.
¿Existe una forma incorporada en Python para realizar una copia de archivo mientras se preservan los enlaces simbólicos?
Intenté usar 'copytree' para hacer esto y obtuve un error de OSError que' src' no era un directorio; Creo que comprobar 'os.path.islink' realmente es la única forma. – senderle
Pienso que es extraño que no haya una función dedicada para copiar archivos (en lugar de directorios como copytree) que preserve los enlaces simbólicos en lugar de resolverlos, pero tampoco pude encontrar ninguno. Parece que esta es la única forma ... –