Wie Sie alle Dateien in einem anderen Verzeichnis in Python kopieren. Ich habe den Quellpfad und den Zielpfad in einer Zeichenfolge.kopieren Sie mehrere Dateien in Python
Antwort
können Sie os.listdir() verwenden, um die Dateien im Quellverzeichnis zu erhalten, os.path.isfile() zu sehen, ob sie reguläre Dateien (einschließlich der symbolischen Links auf * nix-Systeme) sind, und shutil.copy das Kopieren zu tun.
Der folgende Code kopiert nur die regulären Dateien aus dem Quellverzeichnis in das Zielverzeichnis (ich nehme an, dass keine Unterverzeichnisse kopiert werden sollen).
import os
import shutil
src_files = os.listdir(src)
for file_name in src_files:
full_file_name = os.path.join(src, file_name)
if (os.path.isfile(full_file_name)):
shutil.copy(full_file_name, dest)
Blick auf shutil in the Python docs, insbesondere den copytree Befehl.
Gute Bemerkung, aber es kann keine Option sein, wenn das Verzeichnis aus irgendeinem Grund bereits existiert, wie in meinem Fall. – Sven
Wenn Sie nicht den gesamten Baum (mit Unterverzeichnissen usw.) kopieren möchten, verwenden Sie oder glob.glob("path/to/dir/*.*")
, um eine Liste aller Dateinamen zu erhalten, durchlaufen Sie die Liste und verwenden Sie shutil.copy
, um jede Datei zu kopieren.
for filename in glob.glob(os.path.join(source_dir, '*.*')):
shutil.copy(filename, dest_dir)
Hinweis: Möglicherweise müssen Sie die Glob-Ergebnisse mit os.path.isfile() überprüfen, um sicherzustellen, dass es sich um Dateinamen handelt. Siehe auch GreenMatts Antwort. Während glob nur den Dateinamen wie os.listdir zurückliefert, gibt es dennoch Verzeichnisnamen zurück. Das Muster '*. *' Könnte ausreichen, solange Sie keine extensionlosen Dateinamen oder Punkte in Verzeichnisnamen haben. – Steven
import os
import shutil
os.chdir('C:\\') #Make sure you add your source and destination path below
dir_src = ("C:\\foooo\\")
dir_dst = ("C:\\toooo\\")
for filename in os.listdir(dir_src):
if filename.endswith('.txt'):
shutil.copy(dir_src + filename, dir_dst)
print(filename)
def recursive_copy_files(source_path, destination_path, override=False):
"""
Recursive copies files from source to destination directory.
:param source_path: source directory
:param destination_path: destination directory
:param override if True all files will be overridden otherwise skip if file exist
:return: count of copied files
"""
files_count = 0
if not os.path.exists(destination_path):
os.mkdir(destination_path)
items = glob.glob(source_path + '/*')
for item in items:
if os.path.isdir(item):
path = os.path.join(destination_path, item.split('/')[-1])
files_count += recursive_copy_files(source_path=item, destination_path=path, override=override)
else:
file = os.path.join(destination_path, item.split('/')[-1])
if not os.path.exists(file) or override:
shutil.copyfile(item, file)
files_count += 1
return files_count
Es könnte helfen, eine verbale Erklärung Ihres Codes zu geben –
Ich denke, du meinst ** überschreiben **, nicht ** überschreiben ** –
- 1. Kopieren mehrere lokale Dateien Container
- 2. C: mehrere Dateien in einen kopieren
- 3. Shell-Skript: Kopieren Sie mehrere Dateien und fügen Sie Zeitstempel
- 4. Kopieren Sie Dateien oder Verzeichnisse rekursiv in Python
- 5. Öffnen Sie mehrere PDF-Dateien mit Python
- 6. Python Zipfile mehrere Dateien
- 7. Gulp: Wie mehrere Dateien und halten Sie die Ordnerstruktur kopieren
- 8. CMake Custom Command mehrere Dateien kopieren
- 9. VS 2010. Post-Build. Kopieren Sie Dateien in mehrere Verzeichnisse/mehrere Ausgabepfad
- 10. Produzieren Sie mehrere Dateien aus einer einzigen Datei in Python
- 11. Python Logging über mehrere Dateien
- 12. Logging, um mehrere Dateien in Python 3
- 13. Python mehrere Dateien in einer Schleife herunterladen
- 14. öffnen Sie mehrere Dateien und kopieren Sie ihren Inhalt in die letzte Datei geöffnet
- 15. Kopieren aller Dateien eines Verzeichnisses in eine Textdatei in Python
- 16. Kopieren Sie mehr TXT-Dateien in/System Android.mk
- 17. Kopieren bestimmter Dateien in SBT
- 18. Python: Dateien kopieren, um Orte abhängig von ihrem Namen festzulegen
- 19. zu kopieren und verschieben Sie Dateien
- 20. Kopieren Sie nur vorhandene Dateien mit Robocopy
- 21. So kopieren Sie Zeichenfolgen aus StringList in mehrere Memos
- 22. Python, nur Verzeichnisse kopieren
- 23. Konstruktor in Python kopieren?
- 24. Listenelemente in Python kopieren
- 25. scp oder sftp kopieren mehrere Dateien mit einem einzigen Befehl
- 26. Verwenden Sie copy() in einer foreach-Schleife, um mehrere Dateien zu kopieren. Php
- 27. Kopieren Sie nur Dateien in einem Ordner in Gulp
- 28. Laden Sie mehrere FTP-Dateien
- 29. So markieren Sie mehrere Dateien mit TortoiseSVN
- 30. Kombinieren Sie mehrere .Woff-Dateien in einem
[Wie kopiere ich ein ganzes Verzeichnis von Dateien in ein bestehendes Verzeichnis mit Python?] (Http://stackoverflow.com/questions/1868714/how-do-i-copy -ein-gesamtes-Verzeichnis-of-files-in-ein-existierendes-Verzeichnis-using-pyth) –