Tengo un directorio, 'Dst Directory', que tiene archivos y carpetas y tengo 'src Directory' que también tiene archivos y carpetas. Lo que quiero hacer es mover los contenidos de 'src Directory' a 'Dst Directory' y sobrescribir cualquier archivo que exista con el mismo nombre. Entonces, por ejemplo, 'Src Directory \ file.txt' debe moverse a 'Dst Directory' y sobrescribir el archivo existente .txt. Lo mismo aplica para algunas carpetas, moviendo una carpeta y fusionando los contenidos con la misma carpeta en 'dst directory'Python - Mover y sobrescribir archivos y carpetas
Actualmente estoy usando shutil.move para mover el contenido de src a dst pero no lo hará si los archivos ya existen y no fusionará carpetas; simplemente colocará la carpeta dentro de la carpeta existente.
Actualización: para aclarar un poco las cosas; Lo que estoy haciendo es descomprimir un archivo en el Directorio Dst y luego mover los contenidos del Directorio Src allí y volver a realizar la actualización, actualizando de manera efectiva los archivos en el archivo zip. Esto se repetirá para agregar nuevos archivos o nuevas versiones de archivos, etc. por lo que es necesario sobrescribir e integrar
Resuelto: He resuelto mi problema utilizando distutils.dir_util.copy_tree (src, dst), esto copia las carpetas y archivos del directorio src al directorio dst y sobrescribe/fusiona donde sea necesario. Espero que ayude a algunas personas!
Espero que tenga sentido, gracias!
Tenga en cuenta que [ 'distutils.dir_util.copy_tree'] (https://docs.python.org/dev /distutils/apiref.html#distutils.dir_util.copy_tree) no puede copiar archivos especiales, por ej. [named pipes] (https://en.wikipedia.org/wiki/Named_pipe) (arroja 'distutils.errors.DistutilsFileError'). –