Python lernen? So kopieren Sie eine Datei

Python lernen? So kopieren Sie eine Datei

Möchten Sie Ihre Python-Kenntnisse verbessern? Dann können Sie versuchen, einige Aufgaben auf Ihrem Computer mit Python 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.





Es macht nicht nur Spaß, sondern ermöglicht auch das schnelle Lesen und Schreiben von Dateien, ohne von Ihrem Code abgelenkt zu werden. Wenn Python neu für Sie ist, ist es eine Fähigkeit, die Sie möglicherweise noch auf die eine oder andere Weise erlernen müssen. In diesem Beitrag erfahren Sie also, wie Sie Dateien mit Python kopieren.





Voraussetzungen zum Kopieren von Dateien mit Python

Es gibt viele Möglichkeiten, Dateien mit Python zu kopieren und einzufügen. Die Anforderungen dafür sind also unterschiedlich 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 dennoch integrierte Bibliotheken verwenden, wenn Sie möchten.

Wenn Sie beispielsweise die Sie -Methode müssen Sie sie in Ihren Code importieren. Eine der beliebtesten Methoden zum Kopieren von Dateien mit Python ist jedoch die Verwendung der Shutil Bücherei.



Sehen wir uns an, wie wir diese verschiedenen Methoden verwenden können, um Dateien mit Python zu kopieren.

So kopieren Sie Dateien mit der integrierten Shutil-Bibliothek von Python

Die Shutil module 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.

Wie installiere ich Zoom auf dem Laptop?

Im Wesentlichen, Shutil nimmt dieses Format an:





shutil.copy([source directory path], [destination directory path], follow_symlinks=True)

Der folgende Code verwendet beispielsweise Shutil.Kopie () eine Datei namens . kopieren copy.txt aus einem Ordner namens Mein Ordner in einen anderen namens Ziel . Es benennt dann die Zieldatei um als newFile.txt :

import shutil
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 in jedem beliebigen Code-Editor Ihrer Wahl schreiben können. Sie können es dann über die Befehlszeile ausführen.

Sie können jedoch auch die standardmäßige Python Integrated Development Environment (IDLE) verwenden, wenn Sie nicht mit der Ausführung von Python über die Befehlszeile vertraut sind.

Verwandt: Eingabeaufforderungsbefehle (CMD), die Sie kennen müssen

Die Shutil.copy -Methode kopiert nicht die Metadaten der Quelldatei. Im Wesentlichen betrachtet Ihr Computer die Zieldatei als vollständig neu und gibt ihr neue Metadaten.

Um die Metadaten jedoch zusammen mit der Originaldatei zu kopieren, verwenden Sie die Shutil.copy2 Methode:

import shutil
shutil.copy2(sourceFile, destinationFile, follow_symlinks=True)

Die obige Methode behält die ursprünglichen Metadaten der alten Datei in der Zieldatei bei. Die Zieldatei behält beispielsweise das Datum, an dem Sie die Quelldatei erstellt haben, ihre Größe und andere Attribute.

Die follow_symlinks Argument ist eine symbolische Link-Deklaration, die Shutil einem absoluten Weg folgen. Daher müssen Sie es einschließen, wenn sich die Quell- und Zieldateien in unterschiedlichen Verzeichnissen befinden.

Wenn sich jedoch beide Dateien in Ihrem aktuellen Arbeitsverzeichnis befinden, müssen Sie kein a follow_symlinks . Wenn Sie dies tun, löst Python eine Syntaxausnahme aus.

So richten Sie eine zweite Festplatte ein

Wenn Sie also die Quelldatei in Ihr aktuelles Arbeitsverzeichnis einfügen, sollte Ihr Code so aussehen:

import shutil
shutil.copy2(sourceFile, destinationFile)

Zusätzlich zu den oben genannten Shutil-Methoden können Sie auch Shutil.copyfile oder Shutil.copyfileobj .

Verwenden von Shutil.copyfileobj ist ein bisschen anders, da es das eingebaute erfordert offen Funktion. Dann müssen Sie die Binärdatei lesen und schreiben, indem Sie die 'rb' und 'wb' Argumente.

Mal sehen, wie die Shutil.copyfileobj Methode funktioniert mit den gleichen Verzeichnissen, die wir zuvor verwendet haben:

import shutil
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 () braucht das nicht follow_symlinks Streit.

Jedoch, Shutil.copyfile () funktioniert ziemlich gleich .Kopieren und .copy2 tut. Sie unterscheiden sich nur unwesentlich in ihren internen Funktionen.

Um die zu verwenden Shutil.copyfile () Methode:

import shutil
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

Die Sie Das Modul verwendet zwei integrierte Methoden zum Kopieren von Dateien. os.system() und os.popen () Methoden.

Die os.system() -Methode können Sie die Befehlszeilenumgebung imitieren.

Ein Nachteil der os-Methoden besteht jedoch darin, dass sie nur Dateien innerhalb Ihres aktuellen Arbeitsverzeichnisses kopieren.

Um die zu verwenden os.system() Methode unter Windows:

import os
os.system('copy source.txt destination.txt)

Sie können auch das eingebaute xcopy Windows-Terminalbefehl:

import os
os.system('xcopy source.txt destination.txt)

Um die zu verwenden os.system Methode unter Linux, ersetzen Kopieren mit cp :

import os
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:

import os
os.popen('copy source.txt destination.txt)

Wie wir mit os.system() , ersetzen Kopieren mit cp um diese Methode unter Linux zu verwenden:

import os
os.popen('cp source.txt destination.txt)

So kopieren Sie Dateien mit dem Unterprozessmodul von Python

Zusätzlich zu den oben genannten Methoden können Sie auch die Unterprozess() Bibliothek zum Kopieren von Dateien in Python:

import subprocess as sp
sp.call('copy sourceFile destinationFile', shell=True)

Verwenden Sie jedoch unter Linux:

import subprocess as sp
sp.call('cp sourceFile destinationFile', shell=True)

Die Teilprozess Bibliothek verwendet auch Unterprozess.check_out() Methode. Es funktioniert genauso Unterprozess.Aufruf () tut:

import subprocess as sp
sp.check_out('copy sourceFile destinationFile', shell=True)

Unter Linux ersetzen Sie Kopieren mit cp :

import subprocess as sp
sp.check_out('cp sourceFile destinationFIle', shell=True)

Wie die os-Methoden funktionieren Subprozessmethoden jedoch nur mit Dateien in Ihrem aktuellen Arbeitsverzeichnis.

Notiz: Sie können auch Dateien in einen Ordner kopieren, wenn sich dieser 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 Bibliotheken zu verwenden

Sie können auch Dateien 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 entfernen Sie den Ordner mit 3D-Objekten

So erreichen Sie dies:

sourcePath = 'C:/Users/source_directories/my_folder/copy.txt'
destinationPath = 'C:/Users/some_directories/destination_directories/newFile.txt'
with open(sourcePath, 'rb') as read:
with open(destinationPath, 'wb') as myfile:
myfile.write(read.read())

Um den Code wiederverwendbar zu machen, können Sie ihn in eine Funktion umwandeln:

def copyFile(source=None, destination=None):
if not (source and destination)==None:
with open(source, 'rb') as read:
with open(destination, 'wb') as myfile:
myfile.write(read.read())
else:
print('Please enter the source and destination paths')
copyFile(sourcePath, destinationPath)

Das ist es. Sie haben gerade mit Python einen wiederverwendbaren Dateikopierer erstellt, ohne eine Bibliothek zu verwenden.

Automatisieren Sie weiterhin Aufgaben mit Python

Das Kopieren von Dateien mit Python hilft Ihnen nicht nur, sich beim Erstellen von Projekten auf Ihren Code zu konzentrieren, sondern ermöglicht Ihnen auch ein besseres Verständnis der Dateiverwaltung mit Python. Das Herumspielen mit Python-Aufgaben ist jedoch eine Möglichkeit, Ihre Python-Fähigkeiten zu verbessern, insbesondere wenn Sie ein 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.

Teilen Teilen Tweet Email So erstellen Sie Ihre eigenen Befehlszeilenprogramme in Python mit Klick

Sie möchten Ihre eigenen Python-Befehlszeilenprogramme erstellen, finden es aber zu schwer? Verwenden Sie Click, ein nützliches Python-Tool, um Ihren Code zu optimieren.

Weiter lesen
Verwandte Themen
  • Programmierung
  • Python
Über den Autor Idisou Omisola(94 veröffentlichte Artikel)

Idowu hat eine Leidenschaft für alles, was smarte Technologien und Produktivität ist. In seiner Freizeit spielt er mit Programmieren und wechselt bei Langeweile aufs Schachbrett, aber er liebt es auch, ab und zu aus der Routine auszubrechen. Seine Leidenschaft, Menschen den Weg in die moderne Technologie zu weisen, motiviert ihn, mehr zu schreiben.

Mehr von Idowu Omisola

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren