Python-Grundlagen: Lesen und Schreiben von Dateien

巴扎黑
Freigeben: 2017-04-01 13:29:33
Original
1072 Leute haben es durchsucht

Da die Geschwindigkeit von CPU und Speicher viel höher ist als die Geschwindigkeit von Peripheriegeräten, besteht bei der E/A-Programmierung ein ernstes Problem der Geschwindigkeitsinkongruenz. Wenn Sie beispielsweise 100 Millionen Daten auf die Festplatte schreiben möchten, dauert es nur 0,01 Sekunden, bis die CPU 100 Millionen Daten ausgibt. Es kann jedoch 10 Sekunden dauern, bis die Festplatte die 100 Millionen Daten empfängt. Es gibt zwei Methoden: Die erste besteht darin, dass die CPU wartet, das heißt, das Programm unterbricht die Ausführung des nachfolgenden Codes, wartet darauf, dass 100 MB Daten nach 10 Sekunden auf die Festplatte geschrieben werden, und setzt dann die Ausführung fort. Dieser Modus wird als synchron bezeichnet IO; die andere Methode besteht darin, dass die CPU nicht wartet, sondern der Festplatte nur mitteilt: „Sie schreiben immer langsam, keine Sorge, ich werde mit anderen Dingen fortfahren.“ Daher kann der nachfolgende Code sofort ausgeführt werden Dieser Modus wird als asynchrone E/A-Synchronisation und asynchron bezeichnet. Der Unterschied besteht darin, ob auf das Ergebnis der E/A-Ausführung gewartet werden soll. Der Vorteil von Asynchronität ist eine hohe Programmleistung, der Nachteil besteht jedoch darin, dass das Programmiermodell komplex ist. Denken Sie darüber nach, Sie müssen wissen, wann Sie benachrichtigt werden müssen, dass „der Burger fertig ist“, und die Methoden, Sie zu benachrichtigen, variieren. Wenn der Kellner Sie abholt, ist dies der Rückrufmodus. Wenn der Kellner Ihnen eine SMS sendet, um Sie zu benachrichtigen, müssen Sie Ihr Telefon ständig überprüfen, was der Abrufmodus ist. Kurz gesagt, die Komplexität von asynchronem IO ist viel höher als die von synchronem IO. Es ist, als ob Sie zu McDonald's gehen, um Essen zu bestellen, und der Kellner Ihnen sagt, dass der Burger frisch zubereitet werden muss und man muss 5 Minuten warten, also steht man an der Kasse. Ich habe 5 Minuten gewartet, bevor ich den Burger bekommen habe, und bin dann zum Einkaufszentrum gegangen. Sie sagen „Burger essen“ und der Kellner sagt Ihnen, dass der Burger 5 Minuten warten muss. Wenn er fertig ist, benachrichtigen wir Sie, damit Sie sofort andere Dinge erledigen können zum Einkaufszentrum). Es handelt sich um asynchrones IO. 9.1 Lesen und Schreiben von Dateien #!/usr/bin/pythonpoem = '''1.dog2.cat3.rabbit'''f=file('/tmp/poem','w')f.write(poem)f. close () #Inhalt der Ausgabedatei, Methode eins #f=open('/tmp/poem','r')#for line in f.readlines():# print(line.strip())#f.close( )
#Dateiinhalt ausgeben, Methode 2 f=file('/tmp/poem')while True: line = f.readline() if len(line)==0: break print(line.strip()) f .close() Das Schreiben einer Datei ist dasselbe wie das Lesen einer Datei. Der einzige Unterschied besteht darin, dass beim Aufruf der open()-Funktion die Übergabe des Bezeichners „w“ oder „wb“ das Schreiben einer Textdatei oder das Schreiben einer Binärdatei bedeutet :>>> ; f = open('/Users/michael/test.txt', 'w')
>>> f.write('Hallo, Welt!')
> ;>> f .close() Sie können write() wiederholt aufrufen, um in die Datei zu schreiben, aber stellen Sie sicher, dass Sie f.close() aufrufen, um die Datei zu schließen. Wenn wir eine Datei schreiben, schreibt das Betriebssystem die Daten oft nicht sofort auf die Festplatte, sondern speichert sie im Speicher zwischen und schreibt sie langsam, wenn sie frei ist. Erst beim Aufruf der Methode close() garantiert das Betriebssystem, dass alle ungeschriebenen Daten auf die Festplatte geschrieben werden. Das Vergessen, close() aufzurufen, hat zur Folge, dass möglicherweise nur ein Teil der Daten auf die Festplatte geschrieben wird und der Rest verloren geht. Daher ist es aus Sicherheitsgründen besser, die with-Anweisung zu verwenden: with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')
Die Verwendung von close() hat zwei Vorteile: 1. Schließen Sie die Anzahl der geöffneten Dateien. 2. Stellen Sie sicher, dass die Daten im Speicher auf die Festplatte geschrieben werden. f.flush() kann den Inhalt des Speichers ohne Schließen auf die Festplatte schreiben Die Dateizusammenfassung In Python erfolgt das Lesen und Schreiben von Dateien über das Dateiobjekt, das durch die Funktion open() geöffnet wird. Es ist eine gute Angewohnheit, die with-Anweisung zum Betreiben von Datei-E/A zu verwenden.

Das obige ist der detaillierte Inhalt vonPython-Grundlagen: Lesen und Schreiben von Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!