Möchten Sie Ihre Python-Fähigkeiten verbessern? Anschließend können Sie versuchen, einige Aufgaben mit Python auf Ihrem Computer auszuführen. Das Kopieren und Einfügen von Dateien von einem Verzeichnis in ein anderes mit Python ist eine unterhaltsame Möglichkeit, dies zu tun.
Sie machen nicht nur Spaß, sondern können auch schnell Dateien lesen und schreiben, ohne von Ihrem Code abgelenkt zu werden. Wenn Sie Python noch nicht kennen, ist es eine Fähigkeit, die Sie möglicherweise noch auf die eine oder andere Weise erlernen müssen. Lassen Sie uns in diesem Beitrag herausfinden, wie Sie Dateien mit Python kopieren können.
Voraussetzungen zum Kopieren von Dateien mit Python
Es gibt viele Möglichkeiten, Dateien mit Python zu kopieren und einzufügen. Die Anforderungen hierfür variieren und hängen von der Methode ab, für die Sie sich entscheiden.
Während Sie möglicherweise keine zusätzlichen Module benötigen, um Dateien mit Python zu kopieren, können Sie bei Bedarf integrierte Bibliotheken verwenden.
Zum Beispiel, wenn Sie die verwenden möchten os Methode müssen Sie es in Ihren Code importieren. Eine der beliebtesten Möglichkeiten zum Kopieren von Dateien mit Python ist jedoch die Verwendung von Shutil Bibliothek.
Mal sehen, wie wir diese verschiedenen Methoden verwenden können, um Dateien mit Python zu kopieren.
Kopieren von Dateien mit der integrierten Shutil-Bibliothek von Python
Das Shutil Das Modul ist eine integrierte und leistungsstarke Python-Bibliothek zum schnellen Lesen und Schreiben von Dateien in Python.
Um es zu verwenden, müssen Sie nur den vollständigen Pfad der Quell- und Zieldateien angeben.
Im Wesentlichen, Shutil nimmt dieses Format an:
shutil.copy ([Quellverzeichnispfad], [Zielverzeichnispfad], follow_symlinks = True)
Der folgende Code verwendet beispielsweise shutil.copy () um eine Datei mit dem Namen zu kopieren copy.txt aus einem Ordner namens Mein Ordner in einen anderen namens Ziel. Anschließend wird die Zieldatei in umbenannt newFile.txt:
Shutil importieren
sourceFile = "C: /Users/some_directories/my_folder/copy.txt"
destinationFile = "C: /Users/some_directories/destination/newFile.txt"
shutil.copy (sourceFile, destinationFile, follow_symlinks = True)
Beachten Sie, dass Sie Ihren Code schreiben können Jeder Code-Editor Ihrer Wahl. Sie können es dann über die Befehlszeile ausführen.
Sie können jedoch auch die standardmäßige integrierte Python-Entwicklungsumgebung (IDLE) verwenden, wenn Sie nicht mit der Ausführung von Python über die Befehlszeile vertraut sind.
Verbunden: CMD-Befehle (Command Prompt), die Sie kennen müssen
Das shutil.copy Methode kopiert nicht die Metadaten der Quelldatei. Im Wesentlichen sieht Ihr Computer die Zieldatei vollständig als neue Datei und gibt ihr neue Metadaten.
Verwenden Sie jedoch die, um die Metadaten zusammen mit der Originaldatei zu kopieren shutil.copy2 Methode:
Shutil importieren
shutil.copy2 (sourceFile, destinationFile, follow_symlinks = True)
Bei der obigen Methode werden die ursprünglichen Metadaten der alten Datei in der Zieldatei beibehalten. Beispielsweise behält die Zieldatei das Datum, an dem Sie die Quelldatei erstellt haben, ihre Größe und andere Attribute bei.
Das follow_symlinks Argument ist eine symbolische Linkdeklaration, die es erlaubt Shutil folge einem absoluten Weg. Daher müssen Sie es einschließen, wenn sich die Quell- und Zieldateien in verschiedenen Verzeichnissen befinden.
Wenn sich beide Dateien jedoch in Ihrem aktuellen Arbeitsverzeichnis befinden, müssen Sie keine einfügen follow_symlinks. In diesem Fall löst Python eine Syntaxausnahme aus.
Wenn Sie also die Quelldatei in Ihr aktuelles Arbeitsverzeichnis einfügen, sollte Ihr Code folgendermaßen aussehen:
Shutil importieren
shutil.copy2 (sourceFile, destinationFile)
Zusätzlich zu den oben genannten Shutil-Methoden können Sie auch verwenden shutil.copyfile oder shutil.copyfileobj.
Verwenden von shutil.copyfileobj ist ein bisschen anders, da es das eingebaute erfordert öffnen Funktion. Dann müssen Sie Binärdateien lesen und schreiben, indem Sie die "rb" und "wb" Argumente.
Mal sehen, wie die shutil.copyfileobj Die Methode funktioniert mit denselben Verzeichnissen, die wir zuvor verwendet haben:
Shutil importieren
sourceFilePath = open ("C: /Users/some_directories/my_folder/copy.txt", "rb")
destinationFilePath = open ("C: /Users/some_directories/destination/newFile.txt", "wb")
shutil.copyfileobj (sourceFilePath, destinationFilePath)
Beachten Sie, dass shutil.copyfileobj () benötigt das nicht follow_symlinks Streit.
Jedoch, shutil.copyfile () funktioniert ziemlich genauso .Kopieren und .copy2 tut. Sie unterscheiden sich nur unwesentlich in ihren internen Funktionen.
So verwenden Sie die shutil.copyfile () Methode:
Shutil importieren
sourceFilePath = "C: /Users/some_directories/my_folder/copy.txt"
destinationFilePath = "C: /Users/some_directories/destination/newFile.txt"
shutil.copyfile (sourceFilePath, destinationFilePath)
So kopieren Sie Dateien mit dem OS-Modul
Das os Das Modul verwendet zwei integrierte Methoden zum Kopieren von Dateien. os.system () und os.popen () Methoden.
Das os.system () Mit dieser Methode können Sie die Befehlszeilenumgebung imitieren.
Ein Nachteil der OS-Methoden besteht jedoch darin, dass sie nur Dateien in Ihr aktuelles Arbeitsverzeichnis kopieren.
So verwenden Sie die os.system () Methode unter Windows:
os importieren
os.system ('copy source.txt destination.txt)
Sie können auch das eingebaute verwenden xcopy Windows-Terminalbefehl:
os importieren
os.system ('xcopy source.txt destination.txt)
So verwenden Sie die os.system Methode unter Linux ersetzen Kopieren mit vgl:
os importieren
os.system ('cp source.txt destination.txt)
So kopieren Sie Dateien mit der os.popen-Methode
Um diese Methode zu verwenden, ersetzen Sie os.system () mit os.popen ().
Verwenden Sie unter Windows:
os importieren
os.popen ('copy source.txt destination.txt)
Wie wir es gemacht haben os.system ()ersetzen Kopieren mit vgl So verwenden Sie diese Methode unter Linux:
os importieren
os.popen ('cp source.txt destination.txt)
Kopieren von Dateien mit dem Python-Unterprozessmodul
Zusätzlich zu den oben genannten Methoden können Sie auch die verwenden Unterprozess () Bibliothek zum Kopieren von Dateien in Python:
Unterprozess als sp importieren
sp.call ("copy sourceFile destinationFile", shell = True)
Verwenden Sie unter Linux jedoch Folgendes:
Unterprozess als sp importieren
sp.call ("cp sourceFile destinationFile", shell = True)
Das Unterprozess Bibliothek verwendet auch subprocess.check_out () Methode. Es funktioniert genauso subprocess.call () tut:
Unterprozess als sp importieren
sp.check_out ("copy sourceFile destinationFile", shell = True)
Unter Linux ersetzen Kopieren mit vgl:
Unterprozess als sp importieren
sp.check_out ("cp sourceFile destinationFIle", shell = True)
Wie die OS-Methoden funktionieren Unterprozessmethoden jedoch nur mit Dateien in Ihrem aktuellen Arbeitsverzeichnis.
Hinweis: Sie können Dateien auch in einen Ordner kopieren, wenn er sich im selben Arbeitsverzeichnis wie die Quelldatei befindet. Sie müssen lediglich den Zieldateinamen durch den Namen des Zielordners ersetzen. Stellen Sie jedoch sicher, dass sich der Zielordner und die Quelldatei in Ihrem aktuellen Arbeitsverzeichnis befinden.
So kopieren Sie Dateien in Python ohne Verwendung von Bibliotheken
Sie können Dateien auch in Python kopieren, ohne von einer Bibliothek abhängig zu sein. Wie bei der Shutil-Methode benötigen Sie nur die vollständigen Pfade der Quell- und Zielverzeichnisse.
So erreichen Sie das:
sourcePath = "C: /Users/source_directories/my_folder/copy.txt"
destinationPath = "C: /Users/some_directories/destination_directories/newFile.txt"
mit open (sourcePath, "rb") wie gelesen:
mit open (destinationPath, "wb") als myfile:
myfile.write (read.read ())
Zu Machen Sie den Code wiederverwendbarkönnen Sie es in eine Funktion ändern:
def copyFile (Quelle = Keine, Ziel = Keine):
wenn nicht (Quelle und Ziel) == Keine:
mit open (source, "rb") wie gelesen:
mit open (Ziel, "wb") als myfile:
myfile.write (read.read ())
sonst:
print ("Bitte geben Sie den Quell- und Zielpfad ein")
copyFile (sourcePath, destinationPath)
Das ist es. Sie haben gerade einen wiederverwendbaren Dateikopierer mit Python erstellt, ohne eine Bibliothek zu verwenden.
Automatisieren Sie weiterhin Aufgaben mit Python
Durch das Kopieren von Dateien mit Python können Sie sich nicht nur beim Erstellen von Projekten auf Ihren Code konzentrieren, sondern auch die Dateiverwaltung mit Python besser verstehen. Das Herumspielen mit Python-Aufgaben ist jedoch eine Möglichkeit, Ihre Python-Fähigkeiten zu verbessern, insbesondere wenn Sie Anfänger sind.
Mit dem OS-Modul können Sie beispielsweise Datum und Uhrzeit auf Ihrem PC ändern. Sie können sogar benutzerdefinierte Bash-Befehle mit Python schreiben, wenn Sie möchten.
Möchten Sie Ihre eigenen Python-Befehlszeilenprogramme erstellen, finden es aber zu schwierig? Verwenden Sie Click, ein nützliches Python-Tool, um Ihren Code zu optimieren.
- Programmierung
- Python
Idowu ist begeistert von intelligenter Technologie und Produktivität. In seiner Freizeit spielt er mit dem Codieren herum und wechselt zum Schachbrett, wenn er gelangweilt ist, aber er liebt es auch, ab und zu von der Routine abzubrechen. Seine Leidenschaft, Menschen den Weg in die moderne Technik zu zeigen, motiviert ihn, mehr zu schreiben.
Abonniere unseren Newsletter
Melden Sie sich für unseren Newsletter an, um technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote zu erhalten!
Noch ein Schritt…!
Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.