Inhaltsverzeichnis
Kopieren von ganzen Verzeichnissen mit shutil.copytree()
Kopieren von nur Verzeichnisstruktur (leere Dateien)
Handhabungsfehler und Kantenfälle
Heim Backend-Entwicklung Python-Tutorial So kopieren Sie Dateien und Verzeichnisse von einem Ort zum anderen in Python

So kopieren Sie Dateien und Verzeichnisse von einem Ort zum anderen in Python

Aug 11, 2025 pm 06:11 PM
python Dateioperation

Um Dateien und Verzeichnisse zu kopieren, bietet das Shutil -Modul von Python einen effizienten und sicheren Ansatz. 1. verwenden Sie Shutil.copy () oder Shutil.copy2 (), um eine einzelne Datei zu kopieren, die Metadaten behält; 2. Verwenden Sie Shutil.copyTree (), um das gesamte Verzeichnis rekursiv zu kopieren. Das Zielverzeichnis kann nicht im Voraus existieren, aber das Ziel kann durch Dirs_EXIST_OK = true (Python 3.8) vorhanden sein; 3.. Sie können bestimmte Dateien mit Ignorierparametern und Shutil.ignore_Patterns () oder benutzerdefinierte Funktionen filtern. V. 5. Überprüfen Sie immer, ob der Quellpfad existiert, und verwenden Sie Try-Ocept, um Ausnahmen zu verarbeiten, wie bereits Berechtigungen und Dateien vorhanden sind, um sicherzustellen, dass der Vorgang sicher und zuverlässig ist.

So kopieren Sie Dateien und Verzeichnisse von einem Ort zum anderen in Python

Das Kopieren von Dateien und Verzeichnissen in Python ist mit integrierten Modulen wie shutil unkompliziert. Hier erfahren Sie, wie Sie es effizient und sicher machen können.

Kopieren von Dateien mit shutil.copy()

Um eine einzelne Datei zu kopieren, verwenden Sie shutil.copy() oder shutil.copy2() .

  • shutil.copy(src, dst) kopiert den Dateidaten und den Berechtigungsmodus.
  • shutil.copy2(src, dst) macht dasselbe, bewahrt aber auch Metadaten wie Zeitstempel.
 importieren

Shutil.copy ('Source.txt', 'destination.txt')
# oder kopieren Sie in ein Verzeichnis
Shutil.copy ('Source.txt', '/path/to/order/')

Wenn das Ziel ein Verzeichnis ist, hält die Datei ihren ursprünglichen Namen.

Kopieren von ganzen Verzeichnissen mit shutil.copytree()

Verwenden Sie shutil.copytree() um ein Verzeichnis und alle seine Inhalte rekursiv zu kopieren.

 importieren

Shutil.CopyTree ('Source_Folder', 'Backup_Folder')

Dadurch wird backup_folder erstellt und alle Dateien, Unterverzeichnisse und deren Inhalt kopiert.

  • Das Zielverzeichnis darf nicht vorher existieren.
  • Wenn Sie bestimmte Dateien überspringen oder Fehler behandeln müssen, können Sie den Parameter ignore verwenden.

Beispiel mit Filterung:

 importieren

Def ignore_pyc_files (DirName, Dateinamen):
    Return [f für f in Dateinamen, wenn f.endswith ('. pyc')]]

Shutil.CopyTree ('Source_Folder', 'Backup_Folder', Ignore = ignore_pyc_files)

Sie können auch shutil.ignore_patterns() verwenden, um sich zu beunruhigen:

 Shutil.CopyTree ('Source_Folder', 'Backup_Folder',
                Ignore = Shutil.ignore_Patterns ('*. Pyc', '__pycache__', '*.tmp'))

Kopieren von nur Verzeichnisstruktur (leere Dateien)

Python hat keine direkte Möglichkeit, nur die Verzeichnisstruktur zu kopieren, aber Sie können os.walk() mit os.makedirs() kombinieren:

 OS importieren
importieren

Def Copy_Directory_Structure (SRC, DST):
    Für Root, Dirs, Dateien in OS.Walk (SRC):
        für D in Dirs:
            src_path = os.path.join (root, d)
            dst_path = os.path.join (dst, os.path.relpath (src_path, src))
            os.makedirs (dst_path, exist_ok = true)

copy_directory_structure ('Source_Folder', 'struktur_only')

Handhabungsfehler und Kantenfälle

  • Überprüfen Sie immer, ob die Quelle existiert: os.path.exists(path)
  • Verwenden Sie os.path.isfile() oder os.path.isdir() um den Typ zu überprüfen.
  • Wickeln in Try-Except-Blöcken ein, um einen besseren Fehler zu behandeln:
 importieren
OS importieren

versuchen:
    if os.path.isfile ('Source.txt'):
        Shutil.copy ('Source.txt', 'dest.txt')
    Elif os.path.isdir ('Source_Folder'):
        Shutil.CopyTree ('Source_Folder', 'New_Folder')
Außer ErlaubnisError:
    Druck ("Erlaubnis abgelehnt.")
außer FileExisterror:
    print ("Ziel existiert bereits.")
außer Ausnahme als E:
    print (f "Es ist ein Fehler aufgetreten: {e}")

Außerdem unterstützt shutil.copytree() zusätzliche Optionen wie dirs_exist_ok (verfügbar in Python 3.8):

 Shutil.CopyTree ('Source_Folder', 'vorhandene_Folder', DIRS_EXIST_OK = TRUE)

Dies ermöglicht das Kopieren in ein vorhandenes Verzeichnis und überschreiben Sie Dateien nach Bedarf.

Grundsätzlich deckt shutil die meisten Anwendungsfälle ab. Verwenden Sie für einfache Dateikopien copy() oder copy2() . Für vollständige Verzeichnisse ist copytree() Ihre Anlaufstelle. Fügen Sie bei Bedarf die Filterung oder Fehlerbehandlung hinzu.

Das obige ist der detaillierte Inhalt vonSo kopieren Sie Dateien und Verzeichnisse von einem Ort zum anderen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1510
276
So erstellen Sie eine virtuelle Umgebung in Python So erstellen Sie eine virtuelle Umgebung in Python Aug 05, 2025 pm 01:05 PM

Um eine virtuelle Python -Umgebung zu erstellen, können Sie das Venv -Modul verwenden. Die Schritte sind: 1. Geben Sie das Projektverzeichnis ein, um die Python-Mvenvenv-Umgebung auszuführen, um die Umgebung zu schaffen. 2. verwenden Sie SourceEnv/bin/aktivieren Sie in Mac/Linux und Env \ Skripts \ aktivieren in Windows; 3.. Verwenden Sie das Pipinstall -Installationspaket, Pipfreeze> Anforderungen.txt, um Abhängigkeiten zu exportieren. V. Virtuelle Umgebungen können Projektabhängigkeiten isolieren, um Konflikte zu verhindern, insbesondere für die Entwicklung von Mehrfachprojekten, und Redakteure wie Pycharm oder VSCODE sind es ebenfalls

Was sind gemeinsame Strategien zum Debuggen eines Speicherlecks in Python? Was sind gemeinsame Strategien zum Debuggen eines Speicherlecks in Python? Aug 06, 2025 pm 01:43 PM

UsetracemalloctoTrackMemoryAllocations undidentififyHigh-Memorindininen; 2.MonitorObjectCountswithgcandobjgraphoToDeCtGrowingObjecttypes;

Wie arbeite man mit Timezones in Python? Wie arbeite man mit Timezones in Python? Aug 05, 2025 pm 04:53 PM

Usezoneinfoforpython3.9 tocreateTimezon-altertätiges und convertbetweentimezoneswithastimezone (); 2.Forpython3.6–3.8, UsePyTZWithLocalize () ToavoidDsterrors;

Wie automatisieren Sie die Dateneingabe von Excel zu einem Webformular mit Python? Wie automatisieren Sie die Dateneingabe von Excel zu einem Webformular mit Python? Aug 12, 2025 am 02:39 AM

Die Methode zum Ausfüllen von Excel -Daten in Webformulare mithilfe von Python lautet: Verwenden Sie zunächst Pandas, um Excel -Daten zu lesen und dann mit Selen das Browser zu steuern, um das Formular automatisch zu füllen und zu übermitteln. Zu den spezifischen Schritten gehören die Installation von Pandas, OpenPyxl- und Selenium -Bibliotheken, das Herunterladen des entsprechenden Browsertreibers, die Verwendung von Pandas zum Lesen von Namen, E -Mails, Telefon und anderen Feldern in der Datei data.xlsx, starten Sie den Browser über Selen, um das Ziel -Last zu erstellen. Wenn Sie die Ausnahme des Stellverfahrens verarbeiten, können Sie die Ausnahme des Stellverfahrens verarbeiten. Formieren und verarbeiten Sie alle Datenlinien in einer Schleife.

So richten Sie die virtuelle Python -Umgebung in VSCODE ein So richten Sie die virtuelle Python -Umgebung in VSCODE ein Aug 06, 2025 am 02:30 AM

Erstellen Sie eine virtuelle Umgebung: Führen Sie Python-mvenvvenv im Projektordner aus. 2. Aktivieren Sie die virtuelle Umgebung: Windows verwendet Venv \ scripts \ aktivieren, MacOS/Linux verwendet SourceVenv/bin/activate. 3. Öffnen Sie das Projekt in VSCODE und drücken Sie STRG Shift P, um den Python -Interpreter auszuwählen. Geben Sie den Interpreter in der virtuellen Umgebung an. 4. Überprüfen Sie, ob es effektiv ist: Führen Sie die Importsys aus; drucken (sys.execable), und der Ausgangspfad sollte auf den Griffordner verweisen. 5. Optionale Konfiguration: Aktivieren Sie python.terminal.a in Einstellungen

Wie implementieren Sie einen benutzerdefinierten Iterator in einer Python -Klasse? Wie implementieren Sie einen benutzerdefinierten Iterator in einer Python -Klasse? Aug 06, 2025 pm 01:17 PM

Define__iter __ () toreturn theiteratorObject, typisch SelfoRaseParateiterinInstance

Wie drucke ich eine JSON -Datei in Python ziemlich aus? Wie drucke ich eine JSON -Datei in Python ziemlich aus? Aug 07, 2025 pm 12:10 PM

Um JSON -Dateien zu verschönern und zu drucken, müssen Sie die Einstellparameter des JSON -Moduls verwenden. Die spezifischen Schritte sind: 1. Verwenden Sie JSON.LOAD (), um die JSON -Dateidaten zu lesen; 2. Verwenden Sie JSON.DUMP () und setzen Sie den Einzug auf 4 oder 2, um in eine neue Datei zu schreiben, und dann kann die formatierte JSON -Datei generiert werden und der verschönernde Druck kann abgeschlossen werden.

So verwenden Sie die Aufzählung zur Schleife mit einem Index in Python So verwenden Sie die Aufzählung zur Schleife mit einem Index in Python Aug 11, 2025 pm 01:14 PM

Wenn Sie die Sequenz durchqueren und auf den Index zugreifen müssen, sollten Sie die Funktion "Enumerate () verwenden. 1.. Enumerate () liefert automatisch den Index und den Wert, der prägnanter ist als Bereich (Len (Sequenz)); 2. Sie können den Startindex über den Startparameter angeben, z. B. Start = 1, um 1 basierte Zählung zu erreichen. 3.. Sie können es in Kombination mit bedingter Logik verwenden, z. B. das Überspringen des ersten Elements, die Anzahl der Schleifen oder die Formatierung der Ausgabe. 4. Für iterable Objekte wie Listen, Zeichenfolgen und Tupel sowie für das Auspacken von Elementen anwendbar; 5. Verbesserung der Code -Lesbarkeit, vermeiden Sie manuell verwaltet und reduzieren Sie Fehler.

See all articles