Heim  >  Artikel  >  Backend-Entwicklung  >  Erweiterte Python-Dateien und -Streams

Erweiterte Python-Dateien und -Streams

巴扎黑
巴扎黑Original
2017-06-23 15:10:421360Durchsuche

Zusammenfassung: Die Operationen von Python an Dateien und Streams ähneln grundsätzlich denen anderer Programmiersprachen, und selbst die Anweisungen sind prägnanter als bei anderen Sprachen. Zusätzlich zu diesen beiden Objekten zielen Datei- und Stream-Funktionen auch auf dateiähnliche Objekte ab, also Stream-Funktionen in Python, die nur Lesen, aber kein Schreiben unterstützen. In diesem Artikel werden allgemeine Datei- und Stream-Operationsfunktionen und -Operationsmethoden in Python vorgestellt.

Die grundlegendste Stream-Funktion in Python: open

open(name[, mode[, buffering]]): wobei name der Pfad zur Datei ist,

Häufig verwendete Dateimodi in Python:

  • r: schreibgeschützter Modus

  • w: Überschreibmodus

  • a: Erweiterter Modus

  • b: Binärmodus (normalerweise mit anderen Modi verwendet)

  • +: Hinzugefügter Modus (normalerweise mit anderen Modi verwendet) Modi werden gleichzeitig verwendet)

Unter diesen ist der Standardwert des offenen Funktionsmodus der schreibgeschützte Modus. Die Pufferfunktion kann „True“ oder „False“ sein und gibt an, ob eine Speicherbeschleunigung für die Datei durchgeführt werden soll.

Pythons grundlegendste Lese- und Schreibfunktionen: Lesen und Schreiben und zugehöriger Inhalt

  • read([size]): Lesen Sie den Dateiinhalt ab der aktuellen Position und Größe weiter Der Parameter ist optional und gibt die Anzahl der zu lesenden Bytes an. Standardmäßig wird alles in der Datei gelesen.

  • readline([size]): Lies die nächste Textzeile. Die Größe gibt die Anzahl der gelesenen und geänderten Zeichen an. In Python können Sie die gesamte Inhaltszeile auf einmal über readline und den gesamten Inhalt auf einmal über readlines lesen.

  • write(string): Sonderzeichen in die Datei schreiben

Hinweis: Die Methode „wirte“ löscht die Originaldatei, bevor Daten in sie geschrieben werden vorhandene Skripte. Im selben Skript wird jedoch durch den kontinuierlichen Aufruf von write nicht der von der vorherigen Anweisung geschriebene Inhalt überschrieben, sondern nach der vorherigen Schreibposition wird neuer Inhalt hinzugefügt.

In Linux-Systemen können Sie „$cat Infile | py_script“ verwenden

Quelle: Baidu Netdisk Search

"//其中somefile.txt含有文本
$ cat somefile.txt | python somescript.py

# somescript.pyimport sys
text = sys.stdin.read()
words = text.split()
wordcount = len(words)print 'Wordcount:', wordcount

Drei Standardformen von Streams in Python: sys. stdin , sys.stdout und sys.stderr. Lesen und schreiben Sie an bestimmten Stellen: Such- und Tell-Funktionen:

In Python können Sie das nächste zu lesende Zeichen über die Suchfunktion und die Tell-Funktion abrufen In der aktuellen Datei lautet der Beispielcode wie folgt:

Schließen der Datei und Löschen des Caches
f = open(r'text\somefile.txt', 'w')
f.write('01234567890123456789')
f.seek(5)
f.write('Hello, World!')
f.close()
f = open(r'text\somefile.txt')print f.read()
结果:01234Hello, World!89>>> f = open(r'text/somefile.txt')>>> f.read(3)'012'>>> f.tell()3L

Informationen zur close()-Methode: Wenn die Datei schreibgeschützt verwendet wird, ist dies der Fall Es wird empfohlen, die Methode close() aufzurufen. Wenn die Datei zum Schreiben verwendet wird, muss die Methode close() nach dem Schreiben aufgerufen werden. Um zu verhindern, dass die Datei aufgrund von Ausnahmen normal geschlossen wird, kann die Methode close aufgerufen werden final-Anweisung. Darüber hinaus kann die Stream-Operation in der with-Anweisung platziert werden, und es besteht keine Notwendigkeit, das Problem des Dateischließens zu berücksichtigen 🎜> Darüber hinaus werden durch den Aufruf der Flush-Methode die Cache-Informationen im aktuellen E/A-Stream gelöscht. Sie können sich auf die folgenden zwei gängigen Methoden beziehen:

l = ["it is a gooday!",     "Hello, world!",     "Thanks"]with open(r'text/RWLines.txt', 'w') as f:for eachStr in l:
        f.write(eachStr + "\n")"""
This is wrong because file is already closed after with clause:
f.read(2)
"""

©

while True:char = f.read(1)if not char: break
    process(char)
f.close()while True:
    line = f.readline()if not line: break
        process(line)
f.close()

Das obige ist der detaillierte Inhalt vonErweiterte Python-Dateien und -Streams. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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