Ich habe dies die ganze Zeit getan:Python Windows-Dateikopie mit Wildcard Unterstützung
result = subprocess.call(['copy', '123*.xml', 'out_folder\\.', '/y'])
if result == 0:
do_something()
else:
do_something_else()
Bis heute habe ich damit begonnen, in pywin32 Module zu suchen, dann sah ich Funktionen wie win32file.CopyFiles(), aber dann Ich habe festgestellt, dass das Kopieren von Dateien in ein Verzeichnis möglicherweise nicht unterstützt wird. Vielleicht ist diese Funktionalität irgendwo versteckt, aber ich habe es noch nicht gefunden.
Ich habe auch "glob" und "shuthil" Kombination versucht, aber "glob" ist unglaublich langsam, wenn es viele Dateien gibt.
Also, wie emulieren Sie diesen Windows-Befehl mit Python?
copy 123*.xml out_folder\. /y
Warum all diese Probleme mit 'copyfile'? warum nicht einfach 'copy' verwenden? – SilentGhost
Warum in der Tat. Ich habe das Beispiel geändert, um Kopie anstelle von copyfile zu verwenden. Dies hat auch den zusätzlichen Vorteil, dass Berechtigungsbits ebenfalls kopiert werden. – Frederik
Nur ein Hinweis, dass, wenn die Eingabedateien Pfade enthalten, der Zieldateiname mit - join (dst_folder, os.path.basename (fname)) erstellt werden muss. – geographika