Ho una directory, 'Directory Dst', che contiene file e cartelle e ho 'src Directory' che contiene anche file e cartelle. Quello che voglio fare è spostare il contenuto di 'src Directory' in 'Dst Directory' e sovrascrivere anyfiles che esistono con lo stesso nome. Ad esempio, "Src Directory \ file.txt" deve essere spostato in "Directory Dst" e sovrascrivere il file.txt esistente. Lo stesso vale per alcune cartelle, lo spostamento di una cartella e la fusione dei contenuti con la stessa cartella in "directory dst"Python - Spostamento e sovrascrittura di file e cartelle
Attualmente sto usando shutil.move per spostare il contenuto di src in dst ma non lo farà se i file esistono già e non unirà le cartelle; metterà semplicemente la cartella all'interno della cartella esistente.
Aggiornamento: per rendere le cose un po 'più chiare; Quello che sto facendo è decomprimere un archivio nella directory di Dst e quindi spostare i contenuti di Src Directory lì e fare il rezipping, aggiornando efficacemente i file nell'archivio zip. Questo sarà ripetuto per l'aggiunta di nuovi file o nuove versioni di file ecc. Ecco perché è necessario sovrascrivere e unire
Risolto: Ho risolto il mio problema utilizzando distutils.dir_util.copy_tree (src, dst), questo copia le cartelle e file dalla directory src alla directory dst e sovrascrive/unisce dove necessario. Spero che aiuti alcune persone!
Spero che abbia senso, grazie!
Si noti che [ 'distutils.dir_util.copy_tree'] (https://docs.python.org/dev /distutils/apiref.html#distutils.dir_util.copy_tree) non è in grado di copiare file speciali, ad es. [named pipes] (https://en.wikipedia.org/wiki/Named_pipe) (genera 'distutils.errors.DistutilsFileError'). –