[Python] Ganzen Ordner kopieren?
Hey Leute,
ich habe mit Python ein Programm geschrieben, welches Dateien bzw. Ordner Kopieren soll. Das Problem: Wenn der Ordner viele Dateien beinhaltet fängt das programm zu hängen an. Wäre also meine Idee, jede Datei aus dem Ordner einzeln Kopieren und dann 1 Millisekunde warten (oder mehr). Bloß weiß ich nicht wie ich das ohne riesigen Aufwand umsetzen soll. Danke für konstruktive Vorschläge, hier erstmal der Code:
if path.isdir(line):
copytree(line, path.join(dest, path.basename(line)))
else:
copy(line.rstrip(), dest)
1 Antwort
Kopiert eine Datei, wartet 0,001 Sekunden, kopiert die nächste Datei, usw...:
import os, time
from shutil import copyfile
def copytree(src, dst):
for step in os.walk(src):
path, dirs, files = step
for dir in dirs:
os.makedirs(os.path.join(dst,path.strip(os.path.sep),dir))
for file in files:
copyfile(os.path.join(path,file),os.pyth.join(dst.path.strip(os.path.sep),file))
time.sleep(0.001)
P.S.: Allerdings halte ich es für ziemlich unwahrscheinlich, dass das den gewünschten Effekt bringt.
Danke, aht sich jetzt geklärt. Konnte deinen Code dann zwar nicht verwenden aber Danke für die hilfe
Die Funktion erwartet sowohl für src als auch für dst jeweils einen Ordnernamen als String.
Du gibts dem Teil aber offenbar eine Liste.
Falls der Hinweis nicht weiterhilft, zeigst evtl. mal den ganzen Code (oder zumindest die relevanten Abschnitte).
ok, trotsdem danke, versuche es dann mal und melde mich dann erneut :D
Wenn ich deinen Code einsetze bekomme ich folgenden Error:
Wie kann ich das beheben?