2017-10-08 1 views
0

Ich habe viele Möglichkeiten ausprobiert, die ich bisher im Netz gefunden habe und ich kann es einfach nicht funktionieren. Ich habe diesen Code:Wie kopiert man alle Dateien einschließlich Unterordner mit Python

def copytree(src, dst, symlinks=False, ignore=None): 
    if not os.path.exists(dst): 
     os.makedirs(dst) 
    for item in os.listdir(src): 
     s = str(os.path.join(src, item)) 
     d = str(os.path.join(dst, item)) 
     if os.path.isdir(s): 
      copytree(s, d, symlinks, ignore) 
     else: 
      if not os.path.exists(d) or os.stat(s).st_mtime - os.stat(d).st_mtime > 1: 
       shutil.copy2(s, d) 

diesen Code verwenden ich alle Dateien von einem Quellordner in einen neuen Zielordner kopieren. Dies schlägt jedoch immer fehl, wenn sich im Quellordner Unterordner befinden. Der Code überprüft bereits, ob das zu kopierende Objekt ein Ordner oder eine einzelne Datei ist. Wo liegt also das Problem mit diesem Code?

+0

Was ist los mit der [ 'copytree' Funktion] (https://docs.python.org/2/library/shutil.html#shutil.copytree) aus dem 'shuthil'-Modul? – rickdenhaan

Antwort

0

Um dies zu erreichen, verwenden Sie import os und import shutil.

Siehe dies als Beispiel:

import os 
import shutil 

for root, dirs, files in os.walk('.'): 
    for file in files: 
     path_file = os.path.join(root,file) 
     shutil.copy2(path_file,'destination_directory') 
Verwandte Themen