Datei kopieren in Python:Methode shutdown.copy(), shutdown.copystat()
Python-Methoden zum Kopieren von Dateien
Python bietet integrierte Funktionen zum einfachen Kopieren von Dateien mit den Shell-Dienstprogrammen des Betriebssystems.
Der folgende Befehl wird zum Kopieren von Dateien verwendet
shutil.copy(src,dst)
Der folgende Befehl wird verwendet, um eine Datei mit Metadateninformationen zu kopieren
shutil.copystat(src,dst)
Wie man eine Datei in Python kopiert
Hier sind die Schritte zum Kopieren einer Datei in Python mit der Methode shutdown copy():
Schritt 1) Erfassen Sie den Originalpfad im aktuellen Verzeichnis
Bevor wir eine Datei kopieren, müssen wir den Pfad zur Originaldatei im aktuellen Verzeichnis ermitteln. Im Code –
- Variable deklarieren
- Split-Funktion auf Variable anwenden
Code-Erklärung
- Zuerst prüfen wir, ob unsere Datei „guru99.txt“ existiert oder nicht. Da wir die guru99.txt-Datei früher erstellt haben, wissen wir, dass sie existiert, und wir werden mit dem Code weitermachen
- Den Dateipfad speichern wir in der Variable „src ” wenn Ihre Datei existiert
- Sobald wir den Pfad erhalten haben, werden wir den Pfad und den Dateinamen trennen
- Dazu verwenden wir den Split
path.split
Funktion auf Quellvariable - Code gibt bei Ausführung „Dateiname aus “ und „Dateipfad ” separat
Schritt 2) Erstellen Sie eine Kopie unserer vorhandenen Datei mit dem Shutil-Modul
Wir verwenden das Shutil-Modul, um eine Kopie der vorhandenen Datei zu erstellen. Hier haben wir früher eine Kopie unserer bestehenden Datei „guru99.txt.“
Code-Erklärung
- Nehmen Sie den ursprünglichen Dateinamen „guru99.txt“ und fügen Sie am Ende „guru99.txt.bak“ die Buchstaben .bak hinzu. Dieser Name mit der Erweiterung .bak wird unser Duplikat sein
- Und dann verwenden wir die Kopierfunktion des Dienstprogramms, um von der Quelle zum Ziel zu kopieren
- Wenn Sie den Code ausführen, sehen Sie, dass auf der rechten Seite des Bedienfelds eine doppelte Datei mit der Erweiterung .bak erstellt wird
Schritt 3) Mit der Datei verknüpfte Metadaten, Dateiberechtigungen und andere Informationen kopieren
Die Kopierfunktion kopiert nur den Inhalt der Datei, aber keine anderen Informationen. Um Metadaten zu kopieren die mit der Datei, der Dateiberechtigung und anderen Informationen verknüpft sind, müssen Sie „copystat verwenden ” Funktion. Bevor wir diesen Code ausführen, müssen wir unsere Kopierdatei „guru99.text.bak“ löschen.
Nachdem Sie die Datei gelöscht und das Programm ausgeführt haben, wird eine Kopie Ihrer .txt-Datei erstellt, diesmal jedoch mit allen Informationen wie Dateiberechtigung, Änderungszeit und Metadateninformationen . Sie können zu Ihrer Betriebssystem-Shell gehen, um die Informationen zu überprüfen.
Hier ist der Code
import os import shutil from os import path def main(): # make a duplicate of an existing file if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); #seperate the path from the filter head, tail = path.split(src) print("path:" +head) print("file:" +tail) #let's make a backup copy by appending "bak" to the name dst = src+".bak" # nowuse the shell to make a copy of the file shutil.copy(src, dst) #copy over the permissions,modification shutil.copystat(src,dst) if __name__=="__main__": main()
Schritt 4) Informationen abrufen
Sie können die Informationen über die zuletzt geänderte Textdatei abrufen
- Codezeile Nr. 15 – Sie gibt den Tag, das Datum, den Monat, das Jahr und die Uhrzeit an, wann die .txt-Datei (guru99) zuletzt geändert wurde. Wir verwenden das path-Modul, um die Details der Dateiänderungszeit abzurufen, und dann werden wir die Zeitklassen-C-Zeitfunktion verwenden um das in eine lesbare Zeit umzuwandeln. Wenn wir also den Code ausführen, können wir sehen, dass die Datei guru99.txt zuletzt am Montag, den 8. Januar geändert wurde um 13:35 2018.
- Code-Zeile #17 - Sie macht das Gleiche und gibt Informationen über die Dateimodifikation, aber sie hat ein anderes Format, um sie darzustellen. Hier verwenden wir die Get Modification Time-Funktion (path.getmtime("guru99.txt")). Anstelle der c-Zeitfunktion verwenden wir nun die From Time Stamp-Funktion und werde ein Datums-Zeit-Objekt konstruieren. In der Ausgabe können Sie sehen, dass die Details zur Dateiänderungszeit in einem anderen Format ausgedruckt werden 2018-01-08, 13:35:51.334072
Hier ist der Code
# # Example file for working with o.s path module import os from os import path import datetime from datetime import date, time, timedelta import time def main(): # Get the modification time t = time.ctime(path.getmtime("guru99.txt.bak")) print(t) print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak"))) if __name__ == "__main__": main()
Zusammenfassung
- Um eine Kopie der vorhandenen Datei zu erstellen, verwenden Sie den Code shutil.copy (src,dst)
- Um alle Informationen der Originaldatei in die Duplikatdatei zu kopieren, wie Dateiberechtigung, Änderungszeit oder Metadateninformationen durch Verwendung des Codes shutdown.copystat(src,dst)
Python
- Python-Datentypen
- Python-Operatoren
- Python-pass-Anweisung
- Python-Funktionsargumente
- Python-Wörterbuch
- Python-Datei-I/O
- Länge der Python-Zeichenfolge | len() Methode Beispiel
- Python String find() Methode mit Beispielen
- Python-Prüfung, ob Datei vorhanden ist | So prüfen Sie, ob ein Verzeichnis in Python existiert
- Python JSON:Codieren (Dumps), Decodieren (Laden) und JSON-Datei lesen