Shutil-Modul in Python hilft, den Prozess zu automatisieren Kopieren und Entfernen von Dateien und Verzeichnisse. Es gehört zu den Standard-Dienstprogrammmodulen von Python.
Das Shutil-Modul (kurz für Shell Utility) bietet auch viele Funktionen für High-Level-Operationen an Dateien und Dateisammlungen.
Was ist die Shutil.copyfile()-Methode?
Der Shutil.copyfile() Methode in Python wird verwendet, um den Inhalt der Quelldatei in die Zieldatei zu kopieren. Die Metadaten der Datei werden nicht kopiert. Quelle und Ziel müssen eine Datei darstellen und das Ziel muss beschreibbar sein. Wenn das Ziel bereits vorhanden ist, wird es durch die Quelldatei ersetzt, andernfalls wird eine neue Datei erstellt.
Wenn Quelle und Ziel dieselbe Datei darstellen, dann SameFileError-Ausnahme wird erhöht.
Shutil.copyfile() Methodensyntax
Shutil.copyfile(Quelle, Ziel, *, follow_symlinks = True)
Parameter:
- Quelle : Eine Zeichenfolge, die den Pfad der Quelldatei darstellt.
- Ziel : Eine Zeichenfolge, die den Pfad der Zieldatei darstellt.
- follow_symlinks (optional): Der Standardwert dieses Parameters ist True. Wenn False und die Quelle einen symbolischen Link darstellt, wird ein neuer symbolischer Link erstellt, anstatt die Datei zu kopieren.
Notiz: Das „*“ in der Parameterliste zeigt an, dass alle folgenden Parameter (hier in unserem Fall „follow_symlinks“) reine Schlüsselwortparameter sind und unter Verwendung ihres Namens und nicht als Positionsparameter bereitgestellt werden können.
Kehrt zurück:
Diese Methode gibt eine Zeichenfolge zurück, die den Pfad der neu erstellten Datei darstellt.
So kopieren Sie eine Datei mit der Shutil.copyfile()-Methode in Python
Mit der Methode „shutil.copyfile()“ können Sie eine Datei ganz einfach in eine neue Datei kopieren. Um diese Methode zu verwenden, müssen Sie lediglich den Speicherort der Quelldatei und des Speicherorts der Zieldatei angeben.
Lassen Sie es uns anhand eines Beispiels besser verstehen:
Beispiele für Python-Programme
Verwendung der Methode „shutil.copyfile()“ zum Kopieren einer Datei von der Quelle zum Ziel
Hier in diesem Beispiel sehen wir die Verwendung von Shutil.copyfile() zum Kopieren einer Datei von der Quelle zum Ziel mit Python.
Python3
# Python program to explain shutil.copyfile() method> # importing os module> import> os> # importing shutil module> import> shutil> # path> path> => '/home/User/Documents'> # List files and directories> # in '/home/User/Documents'> print> (> 'Before copying file:'> )> print> (os.listdir(path))> # Source path> source> => '/home/User/Documents/file.txt'> # Destination path> destination> => '/home/User/Documents/file(copy).txt'> # Copy the content of> # source to destination> dest> => shutil.copyfile(source, destination)> # List files and directories> # in '/home / User / Documents'> print> (> 'After copying file:'> )> print> (os.listdir(path))> # Print path of newly> # created file> print> (> 'Destination path:'> , dest)> |
>
>
Ausgabe:
Before copying file: ['hrithik.webp'ltr'>Hier sehen wir, dass bei der Verwendung der Methode „shutil.copyfile()“ mögliche Fehler auftreten. Wenn die Quelle und das Ziel dieselbe Datei darstellen, wird die Ausnahme „SameFileError“ ausgelöst. Wenn das Ziel ein Verzeichnis ist, wird die Ausnahme „IsADirectoryError“ ausgelöst. Wenn das Ziel nicht beschreibbar ist, wird die Ausnahme „PermissionError“ ausgelöst. Python3 # Python-Programm zur Erklärung von Shutil .copyfile()-Methode # Shutil-Modul importieren Shutil importieren # Quellpfad source = '/home/User/Documents/file.txt' # Zielpfad destination = '/home/User/Documents/file.txt' # Kopieren Sie den Inhalt von # Quelle in das Ziel Shutil.copyfile(Quelle, Ziel) Ausgabe: Traceback (letzter Aufruf zuletzt): Datei 'copy.py', Zeile 31, in Shutil.copyfile(Quelle, Ziel) Datei ' /usr/lib/python3.6/shutil.py', Zeile 104, in copyfile raise SameFileError('{!r} and {!r} are the same file'.format(src, dst)) Shutil. SameFileError: '/home/User/Documents/file.txt' und '/home/User/Documents/file.txt' sind dieselbe Datei. Zielpfad: /home/User/Documents/file(copy). txt-Fehlerbehandlung Hier behandeln wir Fehler bei der Verwendung der Methode „shutil.copyfile()“. Python3 # Python-Programm zur Erläuterung der Methode „shutil.copyfile()“ # Importieren des Shutil-Moduls Import Shutil # Quellpfad Quelle = '/home/User/Documents/file.txt' # Zielpfad Ziel = '/home/Benutzer/Dokumente ' # Kopieren Sie den Inhalt von # Quelle zum Ziel. Versuchen Sie Folgendes: Shutil.copyfile(Quelle, Ziel) print('Datei erfolgreich kopiert.') # Wenn Quelle und Ziel identisch sind, außer Shutil.SameFileError: Print('Quelle und Ziel stellt dieselbe Datei dar.') # Wenn Ziel ein Verzeichnis ist. außer IsADirectoryError: print('Ziel ist ein Verzeichnis.') # Wenn es ein Berechtigungsproblem außer PermissionError gibt: print('Berechtigung verweigert.') # Für andere Fehler außer: print('Beim Kopieren der Datei ist ein Fehler aufgetreten .') Ausgabe: Ziel ist ein Verzeichnis. Wir haben die Methode zum Kopieren einer Datei in Python mit der Funktion Shutil.copyfile() behandelt. Es handelt sich um eine sehr benutzerfreundliche Methode, mit der Sie eine Datei kopieren können. Dies ist sehr nützlich, wenn Sie eine doppelte Datei erstellen möchten. Lesen Sie auch: Wie kopiere ich eine Datei in Python3? Methode „shutil.copy()“ Inhalte einer Datei in eine andere kopieren Alle Dateien mit Python von einem Verzeichnis in ein anderes kopieren Wie erstelle ich mit Python eine doppelte Datei einer vorhandenen Datei?>