Python - Datei-I/O
Vorherige SeiteNächste Seite
Dieses Kapitel behandelt alle grundlegenden E/A-Funktionen, die in Python verfügbar sind. Weitere Funktionen finden Sie in der Standard-Python-Dokumentation.
Auf dem Bildschirm drucken
Die einfachste Art, eine Ausgabe zu erzeugen, ist die Verwendung von print -Anweisung, in der Sie null oder mehr durch Kommas getrennte Ausdrücke übergeben können. Diese Funktion wandelt die übergebenen Ausdrücke in einen String um und schreibt das Ergebnis wie folgt auf die Standardausgabe −
Live-Demo#!/usr/bin/python print "Python is really a great language,", "isn't it?"
Dies führt auf Ihrem Standardbildschirm zu folgendem Ergebnis −
Python is really a great language, isn't it?
Tastatureingabe lesen
Python bietet zwei eingebaute Funktionen, um eine Textzeile von der Standardeingabe zu lesen, die standardmäßig von der Tastatur kommt. Diese Funktionen sind −
- raw_input
- Eingabe
Die raw_input Funktion
Die raw_input([Eingabeaufforderung]) Die Funktion liest eine Zeile von der Standardeingabe und gibt sie als Zeichenfolge zurück (wobei der abschließende Zeilenumbruch entfernt wird).
#!/usr/bin/python str = raw_input("Enter your input: ") print "Received input is : ", str
Dies fordert Sie auf, eine beliebige Zeichenfolge einzugeben, und es würde dieselbe Zeichenfolge auf dem Bildschirm anzeigen. Als ich „Hello Python!“ eingetippt habe, sieht die Ausgabe so aus −
Enter your input: Hello Python Received input is : Hello Python
Die Eingabe Funktion
Die Eingabe([Eingabeaufforderung]) Die Funktion ist äquivalent zu raw_input, außer dass sie davon ausgeht, dass die Eingabe ein gültiger Python-Ausdruck ist, und das ausgewertete Ergebnis an Sie zurückgibt.
#!/usr/bin/python str = input("Enter your input: ") print "Received input is : ", str
Dies würde das folgende Ergebnis für die eingegebene Eingabe erzeugen −
Enter your input: [x*5 for x in range(2,10,2)] Recieved input is : [10, 20, 30, 40]
Öffnen und Schließen von Dateien
Bisher haben Sie auf der Standardein- und -ausgabe gelesen und geschrieben. Jetzt werden wir sehen, wie man eigentliche Datendateien verwendet.
Python bietet standardmäßig grundlegende Funktionen und Methoden, die zum Bearbeiten von Dateien erforderlich sind. Sie können die meisten Dateibearbeitungen mit einer Datei durchführen Objekt.
Die Öffnung Funktion
Bevor Sie eine Datei lesen oder schreiben können, müssen Sie sie mit Pythons eingebautem open() öffnen Funktion. Diese Funktion erstellt eine Datei -Objekt, das verwendet werden würde, um andere damit verbundene Unterstützungsmethoden aufzurufen.
Syntax
file object = open(file_name [, access_mode][, buffering])
Hier sind Parameterdetails −
-
Dateiname − Das Argument Dateiname ist ein Zeichenfolgenwert, der den Namen der Datei enthält, auf die Sie zugreifen möchten.
-
Zugriffsmodus − Der access_mode bestimmt den Modus, in dem die Datei geöffnet werden muss, d. h. lesen, schreiben, anhängen usw. Eine vollständige Liste möglicher Werte finden Sie unten in der Tabelle. Dies ist ein optionaler Parameter und der Standard-Dateizugriffsmodus ist Lesen (r).
-
Pufferung − Wenn der Pufferwert auf 0 gesetzt ist, findet keine Pufferung statt. Wenn der Pufferwert 1 ist, wird Zeilenpufferung durchgeführt, während auf eine Datei zugegriffen wird. Wenn Sie den Pufferwert als Ganzzahl größer als 1 angeben, wird die Pufferaktion mit der angegebenen Puffergröße ausgeführt. Falls negativ, ist die Puffergröße der Systemstandard (Standardverhalten).
Hier ist eine Liste der verschiedenen Modi zum Öffnen einer Datei −
Sr.No. | Modi &Beschreibung |
---|---|
1 | r Öffnet eine Datei nur zum Lesen. Der Dateizeiger wird an den Anfang der Datei gesetzt. Dies ist der Standardmodus. |
2 | rb Öffnet eine Datei nur zum Lesen im Binärformat. Der Dateizeiger wird an den Anfang der Datei gesetzt. Dies ist der Standardmodus. |
3 | r+ Öffnet eine Datei zum Lesen und Schreiben. Der Dateizeiger, der am Anfang der Datei platziert wird. |
4 | rb+ Öffnet eine Datei zum Lesen und Schreiben im Binärformat. Der Dateizeiger, der am Anfang der Datei platziert wird. |
5 | w Öffnet eine Datei nur zum Schreiben. Überschreibt die Datei, falls die Datei vorhanden ist. Wenn die Datei nicht existiert, erstellt eine neue Datei zum Schreiben. |
6 | wb Öffnet eine Datei nur zum Schreiben im Binärformat. Überschreibt die Datei, falls die Datei vorhanden ist. Wenn die Datei nicht existiert, erstellt eine neue Datei zum Schreiben. |
7 | w+ Öffnet eine Datei zum Schreiben und Lesen. Überschreibt die vorhandene Datei, falls die Datei vorhanden ist. Wenn die Datei nicht existiert, erstellt eine neue Datei zum Lesen und Schreiben. |
8 | wb+ Öffnet eine Datei zum Schreiben und Lesen im Binärformat. Überschreibt die vorhandene Datei, falls die Datei vorhanden ist. Wenn die Datei nicht existiert, erstellt eine neue Datei zum Lesen und Schreiben. |
9 | ein Öffnet eine Datei zum Anhängen. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei existiert. Das heißt, die Datei befindet sich im Anfügemodus. Wenn die Datei nicht existiert, wird eine neue Datei zum Schreiben erstellt. |
10 | ab Öffnet eine Datei zum Anhängen im Binärformat. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei existiert. Das heißt, die Datei befindet sich im Anfügemodus. Wenn die Datei nicht existiert, wird eine neue Datei zum Schreiben erstellt. |
11 | a+ Öffnet eine Datei zum Anhängen und Lesen. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei existiert. Die Datei wird im Anfügemodus geöffnet. Wenn die Datei nicht existiert, wird eine neue Datei zum Lesen und Schreiben erstellt. |
12 | ab+ Öffnet eine Datei zum Anhängen und Lesen im Binärformat. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei existiert. Die Datei wird im Anfügemodus geöffnet. Wenn die Datei nicht existiert, wird eine neue Datei zum Lesen und Schreiben erstellt. |
Die Datei Objektattribute
Sobald eine Datei geöffnet ist, haben Sie eine Datei Objekt erhalten Sie verschiedene Informationen zu dieser Datei.
Hier ist eine Liste aller Attribute, die sich auf das Dateiobjekt beziehen −
Sr.No. | Attribut &Beschreibung |
---|---|
1 | Datei.geschlossen Gibt true zurück, wenn die Datei geschlossen ist, andernfalls false. |
2 | file.mode Gibt den Zugriffsmodus zurück, mit dem die Datei geöffnet wurde. |
3 | Datei.Name Gibt den Namen der Datei zurück. |
4 | file.softspace Gibt „false“ zurück, wenn bei print explizit Leerzeichen erforderlich sind, andernfalls „true“. |
Beispiel
Live-Demo#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name print "Closed or not : ", fo.closed print "Opening mode : ", fo.mode print "Softspace flag : ", fo.softspace
Dies erzeugt das folgende Ergebnis −
Name of the file: foo.txt Closed or not : False Opening mode : wb Softspace flag : 0
Das Schließen() Methode
Die Methode close() einer Datei Objekt löscht alle ungeschriebenen Informationen und schließt das Dateiobjekt, danach kann nicht mehr geschrieben werden.
Python schließt eine Datei automatisch, wenn das Referenzobjekt einer Datei einer anderen Datei neu zugewiesen wird. Es hat sich bewährt, die Methode close() zu verwenden, um eine Datei zu schließen.
Syntax
fileObject.close()
Beispiel
Live-Demo#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name # Close opend file fo.close()
Dies erzeugt das folgende Ergebnis −
Name of the file: foo.txt
Dateien lesen und schreiben
Die Datei Objekt bietet eine Reihe von Zugriffsmethoden, um unser Leben einfacher zu machen. Wir würden sehen, wie man read() verwendet und write() Methoden zum Lesen und Schreiben von Dateien.
Das write() Methode
Das write() -Methode schreibt eine beliebige Zeichenfolge in eine geöffnete Datei. Es ist wichtig zu beachten, dass Python-Strings Binärdaten und nicht nur Text enthalten können.
Die Methode write() fügt am Ende des Strings kein Zeilenumbruchzeichen ('\n') hinzu −
Syntax
fileObject.write(string)
Hier ist der übergebene Parameter der Inhalt, der in die geöffnete Datei geschrieben werden soll.
Beispiel
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") fo.write( "Python is a great language.\nYeah its great!!\n") # Close opend file fo.close()
Die obige Methode würde foo.txt erstellen Datei und würde gegebenen Inhalt in diese Datei schreiben und schließlich würde es diese Datei schließen. Wenn Sie diese Datei öffnen würden, hätte sie folgenden Inhalt.
Python is a great language. Yeah its great!!
Das read() Methode
Das read() -Methode liest einen String aus einer geöffneten Datei. Es ist wichtig zu beachten, dass Python-Strings binäre Daten enthalten können. abgesehen von Textdaten.
Syntax
fileObject.read([count])
Übergebener Parameter ist hier die Anzahl der Bytes, die aus der geöffneten Datei gelesen werden sollen. Diese Methode beginnt mit dem Lesen am Anfang der Datei und wenn count fehlt, dann versucht es so viel wie möglich zu lesen, vielleicht bis zum Ende der Datei.
Beispiel
Nehmen wir eine Datei foo.txt , die wir oben erstellt haben.
#!/usr/bin/python # Open a file fo = open("foo.txt", "r+") str = fo.read(10); print "Read String is : ", str # Close opend file fo.close()
Dies erzeugt das folgende Ergebnis −
Read String is : Python is
Dateipositionen
Das erzählen() Methode teilt Ihnen die aktuelle Position innerhalb der Datei mit; Mit anderen Worten, der nächste Lese- oder Schreibvorgang findet bei so vielen Bytes vom Anfang der Datei statt.
Die seek(offset[, from]) -Methode ändert die aktuelle Dateiposition. Der Versatz Das Argument gibt die Anzahl der zu verschiebenden Bytes an. Die von Das Argument gibt die Referenzposition an, von der aus die Bytes verschoben werden sollen.
Wenn von auf 0 gesetzt bedeutet, den Anfang der Datei als Referenzposition verwenden und 1 bedeutet, die aktuelle Position als Referenzposition verwenden, und wenn es auf 2 gesetzt ist, wird das Ende der Datei als Referenzposition verwendet.
Beispiel
Nehmen wir eine Datei foo.txt , die wir oben erstellt haben.
#!/usr/bin/python # Open a file fo = open("foo.txt", "r+") str = fo.read(10) print "Read String is : ", str # Check current position position = fo.tell() print "Current file position : ", position # Reposition pointer at the beginning once again position = fo.seek(0, 0); str = fo.read(10) print "Again read String is : ", str # Close opend file fo.close()
Dies erzeugt das folgende Ergebnis −
Read String is : Python is Current file position : 10 Again read String is : Python is
Umbenennen und Löschen von Dateien
Python os -Modul stellt Methoden bereit, die Ihnen bei der Durchführung von Dateiverarbeitungsvorgängen wie dem Umbenennen und Löschen von Dateien helfen.
Um dieses Modul zu verwenden, müssen Sie es zuerst importieren und können dann alle zugehörigen Funktionen aufrufen.
Die rename() Methode
Das umbenennen() Die Methode nimmt zwei Argumente entgegen, den aktuellen Dateinamen und den neuen Dateinamen.
Syntax
os.rename(current_file_name, new_file_name)
Beispiel
Es folgt das Beispiel zum Umbenennen einer bestehenden Datei test1.txt −
#!/usr/bin/python import os # Rename a file from test1.txt to test2.txt os.rename( "test1.txt", "test2.txt" )
Das remove() Methode
Sie können remove() verwenden Methode zum Löschen von Dateien durch Angabe des Namens der zu löschenden Datei als Argument.
Syntax
os.remove(file_name)
Beispiel
Im Folgenden sehen Sie ein Beispiel zum Löschen einer vorhandenen Datei test2.txt −
#!/usr/bin/python import os # Delete file test2.txt os.remove("text2.txt")
Verzeichnisse in Python
Alle Dateien befinden sich in verschiedenen Verzeichnissen, und Python kann auch damit problemlos umgehen. Das os -Modul verfügt über mehrere Methoden, mit denen Sie Verzeichnisse erstellen, entfernen und ändern können.
Das mkdir() Methode
Sie können das mkdir() verwenden Methode des os Modul zum Erstellen von Verzeichnissen im aktuellen Verzeichnis. Sie müssen dieser Methode ein Argument übergeben, das den Namen des zu erstellenden Verzeichnisses enthält.
Syntax
os.mkdir("newdir")
Beispiel
Es folgt das Beispiel zum Erstellen eines Verzeichnisses test im aktuellen Verzeichnis −
#!/usr/bin/python import os # Create a directory "test" os.mkdir("test")
Das chdir() Methode
Sie können chdir() verwenden Methode zum Wechseln des aktuellen Verzeichnisses. Die Methode chdir() nimmt als Argument den Namen des Verzeichnisses, das Sie zum aktuellen Verzeichnis machen möchten.
Syntax
os.chdir("newdir")
Beispiel
Es folgt das Beispiel, um in das Verzeichnis "/home/newdir" zu gehen −
#!/usr/bin/python import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")
Das getcwd() Methode
Das getcwd() Methode zeigt das aktuelle Arbeitsverzeichnis an.
Syntax
os.getcwd()
Beispiel
Das folgende Beispiel gibt das aktuelle Verzeichnis an −
#!/usr/bin/python import os # This would give location of the current directory os.getcwd()
Der rmdir() Methode
Das rmdir() Methode löscht das Verzeichnis, das als Argument in der Methode übergeben wird.
Vor dem Entfernen eines Verzeichnisses sollten alle darin enthaltenen Inhalte entfernt werden.
Syntax
os.rmdir('dirname')
Beispiel
Im Folgenden sehen Sie ein Beispiel zum Entfernen des Verzeichnisses „/tmp/test“. Es ist erforderlich, den vollständig qualifizierten Namen des Verzeichnisses anzugeben, andernfalls würde es im aktuellen Verzeichnis nach diesem Verzeichnis suchen.
#!/usr/bin/python import os # This would remove "/tmp/test" directory. os.rmdir( "/tmp/test" )
Datei- und verzeichnisbezogene Methoden
Es gibt drei wichtige Quellen, die eine breite Palette von Dienstprogrammmethoden zum Handhaben und Manipulieren von Dateien und Verzeichnissen auf Windows- und Unix-Betriebssystemen bereitstellen. Sie lauten wie folgt −
-
Dateiobjektmethoden:Die Datei Objekt bietet Funktionen zum Manipulieren von Dateien.
-
OS-Objektmethoden:Dies stellt Methoden zum Verarbeiten von Dateien und Verzeichnissen bereit.
Python
- C Eingang Ausgang (E/A)
- C Dateiverwaltung
- Python-Eingabe, -Ausgabe und -Import
- Python-Datei-I/O
- Python-Verzeichnis- und Dateiverwaltung
- Python-Prüfung, ob Datei vorhanden ist | So prüfen Sie, ob ein Verzeichnis in Python existiert
- C - Datei-E/A
- C - Header-Dateien
- C++-Dateien und -Streams
- C# - Datei-E/A