sep examples python symlink

examples - Copiando un enlace simbólico en Python



os.system() python (1)

Quiero copiar un archivo src al destino dst , pero si src es un enlace simbólico, conserve el enlace en lugar de copiar el contenido del archivo. Una vez realizada la copia, os.readlink debería devolver lo mismo tanto para src como para dst .

El módulo shutil tiene varias funciones, como copy , copy y copy2 , pero todas estas copiarán el contenido del archivo y no conservarán 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 un archivo y preservar los enlaces simbólicos?


Solo haz

def copy(src, dst): if os.path.islink(src): linkto = os.readlink(src) os.symlink(linkto, dst) else: shutil.copy(src,dst)

shutil.copytree hace algo similar, pero como señaló senderle, es delicado copiar solo directorios, no archivos individuales.