Python3-Datei-write()-Methode
Übersicht
write()Die Methode wird verwendet, um eine angegebene Zeichenkette in eine Datei zu schreiben.
Bevor die Datei geschlossen oder der Puffer geleert wird, wird der Zeichenketteninhalt im Puffer gespeichert, sodass man den geschriebenen Inhalt nicht in der Datei sehen kann.
Wenn der Dateiöffnungsmodus b enthält, muss beim Schreiben von Dateiinhalten str (Parameter) mit der encode-Methode in Bytes-Form umgewandelt werden, andernfalls wird ein Fehler ausgelöst: TypeError: a bytes-like object is required, not 'str'.
Syntax
Die Syntax der write()-Methode lautet wie folgt:
fileObject.write( [ str ])
Parameters
-
fileObject-- Dateiobjekt, normalerweise durch Öffnen der Datei mit der open()-Funktion erhalten.
-
str-- die Zeichenkette, die in die Datei geschrieben werden soll.
Die write()-Methode schreibt die angegebene Zeichenkette in die Datei. Die Schreibposition hängt von der aktuellen Zeigerposition der Datei ab:
Wenn die Datei im Anhängemodus geöffnet wird (
"a"oder"a+"), wird der geschriebene Inhalt am Ende der Datei angehängt.Wenn die Datei im Lese-Schreib-Modus geöffnet wird (
"r+"oder"w+"), der geschriebene Inhalt überschreibt den ursprünglichen Inhalt ab der aktuellen Position des Dateizeigers.
Rückgabewert
Gibt die Anzahl der geschriebenen Zeichen zurück.
Beispiel
Der Inhalt der Datei example.txt ist wie folgt:
1:www.example.com 2:www.example.com 3:www.example.com 4:www.example.com 5:www.example.com
Das folgende Beispiel demonstriert die Verwendung der Methode write():
Beispiel
# Verwende die with-Anweisung, um die Datei zu öffnen, und stelle sicher, dass sie ordnungsgemäß geschlossen wird
with open("example.txt", "r+") as fo:
print("Dateiname: ", fo.name)
# Schreibe eine Zeile am Ende der Datei
fo.seek(0, 2) # Verschiebe den Dateizeiger an das Ende der Datei
fo.write("6:www.example.com\n") # Inhalt schreiben und einen Zeilenumbruch hinzufügen
# Lies den gesamten Inhalt der Datei
fo.seek(0) # Verschiebe den Dateizeiger an den Anfang der Datei
for index, line in enumerate(fo):
print("Dateizeile %d - %s" % (index, line.strip()))
Die Ausgabe des obigen Beispiels ist:
文件行号 0 - 1:www.example.com 文件行号 1 - 2:www.example.com 文件行号 2 - 3:www.example.com 文件行号 3 - 4:www.example.com 文件行号 4 - 5:www.example.com 文件行号 5 - 6:www.example.com
Dateiinhalt anzeigen:
$ cat example.txt 1:www.example.com 2:www.example.com 3:www.example.com 4:www.example.com 5:www.example.com 6:www.example.com
Hinweise
Dateimodi:
Wenn die Datei im Nur-Lese-Modus geöffnet wird (
"r"), beim Aufruf vonwrite()wird einen Fehler auslösenio.UnsupportedOperationeine Ausnahme.Wenn die Datei im Schreibmodus geöffnet wird (
"w"oder"w+"), wird der Dateiinhalt gelöscht, und anschließend wird neuer Inhalt geschrieben.Wenn die Datei im Anhängemodus geöffnet wird (
"a"oder"a+"), wird der geschriebene Inhalt am Ende der Datei angehängt.
Dateizeiger:
Der Schreibvorgang beginnt an der aktuellen Position des Dateizeigers. Wenn Sie vom Anfang oder von einer bestimmten Position aus schreiben müssen, können Sie die
seek()Methode verwenden, um den Dateizeiger zu verschieben.
Zeilenumbruchzeichen:
write()Die Methode fügt nicht automatisch einen Zeilenumbruch hinzu. Wenn ein Zeilenumbruch benötigt wird, müssen Sie explizit\n。
Rückgabewert:
write()Die Methode gibt die Anzahl der geschriebenen Zeichen zurück. Wenn der Schreibvorgang fehlschlägt, kann eine Ausnahme ausgelöst werden.
Andere Erweiterungen
Python3-Dateimethoden