Heim > Artikel > Backend-Entwicklung > Python-Lernen – Eingabe und Ausgabe
Eingabe und Ausgabe
Datei
Sie können eine Datei öffnen, indem Sie ein Objekt der Dateiklasse erstellen und zum Lesen und Schreiben die Methoden read, readline oder write der Dateiklasse verwenden die Datei entsprechend. Die Möglichkeit, Dateien zu lesen und zu schreiben, hängt von dem Modus ab, den Sie beim Öffnen der Datei angeben. Wenn Sie schließlich mit der Datei fertig sind, rufen Sie die Methode close auf, um Python mitzuteilen, dass wir mit der Datei fertig sind.
Ein Beispiel für die Verwendung einer Datei ist wie folgt:
Python-Code
poem = '''''\Programming is fun When the work is done if you wanna make your work also fun:use Python!''' f = file('poem.txt', 'w') f.write(poem) f.close() f = file('poem.txt') while True: line = f.readline() if len(line) == 0: break print line, f.close()
Ausgabe:
Python-Code
Programming is fun When the work is done if you wanna make your work also fun: use Python!
Zuerst Zunächst können Sie uns angeben, indem Sie eine Instanz der Dateiklasse mit der Datei und dem Modus erstellen, den Sie öffnen möchten. Der Modus kann Lesemodus ('r'), Schreibmodus ('w') oder Anhängemodus ('a') sein. Es stehen viele andere Modi zur Verfügung. Verwenden Sie die Hilfedatei, um mehr darüber zu erfahren. Wir öffnen die Datei im Schreibmodus, verwenden dann die Schreibmethode der Dateiklasse, um die Datei zu schreiben, und schließen schließlich die Datei mit close.
Als nächstes öffnen wir dieselbe Datei erneut, um die Datei zu lesen. Wenn wir keinen Modus angeben, wird der Lesemodus als Standardmodus verwendet. In einer Schleife verwenden wir die Methode readline, um jede Zeile der Datei zu lesen. Diese Methode gibt eine vollständige Zeile zurück, einschließlich des Newline-Zeichens am Ende der Zeile. Wenn also eine leere Zeichenfolge zurückgegeben wird, bedeutet dies, dass das Ende der Datei erreicht wurde, sodass wir die Schleife stoppen.
Beachten Sie, dass wir Kommas in der Druckanweisung verwenden, um automatische
Zeilenumbrüche zu vermeiden, da der aus der Datei gelesene Inhalt bereits mit einem Zeilenumbruchzeichen endet.
Abschließend schließen wir die Datei mit close.
Speicher
Python bietet ein Standardmodul namens pickle. Damit können Sie jedes Python-Objekt in einer Datei speichern und es dann intakt abrufen. Dies wird als dauerhaftes Speichern von Objekten bezeichnet.
Es gibt ein anderes Modul namens cPickle, das genau das Gleiche tut wie das Pickle-Modul, außer dass es in C geschrieben ist und daher viel schneller ist (1000-mal schneller als Pickle). Sie können jedes davon verwenden, wir verwenden hier jedoch das cPickle-Modul. Denken Sie daran, dass wir beide Module kurz als Pickle-Module bezeichnen.
Die Speicher- und Abrufbeispiele lauten wie folgt:
Python-Code
import cPickle as p shoplistfile = 'shoplist.data' shoplist = ['apple', 'mango', 'carrot'] f = file(shoplistfile, 'w') p.dump(shoplist, f) f.close() del shoplist f = file(shoplistfile) storedlist = p.load(f) print storedlist
Ausgabe:
Python-Code
['apple', 'mango', 'carrot']
Erstens Alle, bitte beachten Sie, dass wir die Syntax import..as verwendet haben. Dies ist eine praktische Methode, damit wir kürzere Modulnamen verwenden können. In diesem Beispiel können wir auch zu einem anderen Modul (cPickle oder pickle) wechseln, indem wir einfach eine Zeile ändern! Im weiteren Verlauf des Programms nennen wir dieses Modul einfach p.
Um ein Objekt in einer Datei zu speichern, öffnen Sie zunächst ein Dateiobjekt im Schreibmodus und rufen Sie dann die Dump-Funktion des Speichermoduls auf, um das Objekt in der geöffneten Datei zu speichern. Dieser Vorgang wird als Speicherung bezeichnet.
Als nächstes verwenden wir die Rückgabe der Ladefunktion des Pickle-Moduls, um das Objekt abzurufen. Dieser Vorgang wird als Speicherabruf bezeichnet.