Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Python, um Inhalte in eine Datei zu schreiben

So verwenden Sie Python, um Inhalte in eine Datei zu schreiben

王林
王林nach vorne
2023-06-02 22:26:472322Durchsuche

1. Write()-Methode

Verwenden Sie die write()-Methode: Öffnen Sie die Datei mit der open()-Funktion und schreiben Sie dann den Inhalt mit der write()-Methode in die Datei. Beispiel: Die Funktion

with open('example.txt', 'w') as f:
    f.write('Hello, world!')

open() ist Pythons integrierte Funktion zum Öffnen von Dateien. Ihre häufig verwendeten Parameter und ihre Bedeutung sind wie folgt:

1.file: Dateiname oder Dateipfad. Kann ein absoluter Pfad oder ein relativer Pfad sein. Wenn der Pfad relativ ist, ist er relativ zum aktuellen Arbeitsverzeichnis. Wenn der Pfad weggelassen wird, wird die Datei im aktuellen Arbeitsverzeichnis geöffnet.

2.Modus: Dateiöffnungsmodus. Kann einer der folgenden Werte sein:

  • 'r': schreibgeschützter Modus. Im Standardmodus wird eine Ausnahme ausgelöst, wenn die Datei nicht vorhanden ist.

  • 'w': Schreibmodus. Wenn die Datei nicht vorhanden ist, wird die Datei erstellt. Wenn die Datei bereits vorhanden ist, wird die Datei gelöscht und neuer Inhalt geschrieben.

  • 'x': Exklusiver Erstellungsmodus. Wenn die Datei nicht vorhanden ist, wird die Datei erstellt. Wenn die Datei bereits vorhanden ist, wird eine Ausnahme ausgelöst.

  • 'a': Anhängemodus. Wenn die Datei nicht vorhanden ist, wird die Datei erstellt. Wenn die Datei bereits vorhanden ist, fügen Sie am Ende der Datei neuen Inhalt hinzu.

  • 'b': Binärmodus. Verwendung mit anderen Modi wie „rb“ oder „wb“.

  • 't': Textmodus. Kann mit anderen Modi wie „rt“ oder „wt“ verwendet werden.

3.Puffer: Legen Sie die Puffergröße fest. Wenn es weggelassen wird oder 0 ist, findet keine Pufferung statt. Bei 1 werden die Zeilen gepuffert. Wenn größer als 1, die Puffergröße.

4.Kodierung: Kodierungsformat, das zum Kodieren und Dekodieren von Dateiinhalten verwendet wird. Wenn es weggelassen wird, wird die Standardkodierung verwendet.

5.Fehler: Umgang mit Fehlern beim Kodieren und Dekodieren von Dateiinhalten. Kann einer der folgenden Werte sein:

  • 'strict': Standardwert, was bedeutet, dass eine Ausnahme ausgelöst wird, wenn ein Fehler auftritt.

  • 'ignore': Fehler ignorieren.

  • 'replace': Ersetzen Sie falsche Zeichen durch '?'.

  • 'backslashreplace': Ersetzen Sie falsche Zeichen durch Backslash-Escapezeichen.

  • 'xmlcharrefreplace': Ersetzen Sie falsche Zeichen durch XML-Entitäten.

  • 'namereplace': Ersetzen Sie falsche Zeichen durch N{...}-Escapezeichen.

6.newline: Steuert die Verarbeitung von Zeilenumbrüchen im Textmodus. Kann einer der folgenden Werte sein:

  • Keine: Verwenden Sie das Standard-Neuzeilenzeichen n.

  • '': Es wird keine Newline-Konvertierung durchgeführt.

  • 'n', 'r', 'rn', 'u2028', 'u2029': Verwenden Sie das angegebene Zeilenumbruchzeichen.

Wenn auf True gesetzt, wird der zugrunde liegende Dateideskriptor beim Öffnen einer Datei geschlossen. Der Standardwert ist True.

8.opener: Benutzerdefinierte Funktion oder Klasse zum Öffnen von Dateien. Der Standardwert ist „Keine“.

Diese Parameter können in verschiedenen Kombinationen verwendet werden, um unterschiedliche Betriebsanforderungen für Dateien zu erfüllen. open('example.txt', 'w') öffnet beispielsweise eine Datei mit dem Namen example.txt im Schreibmodus oder erstellt eine neue, leere Datei, wenn die Datei nicht vorhanden ist.

2. writelines()-Methode

writelines()-Methode schreibt eine Liste von Zeichenfolgen in eine Datei. Beispiel: Die Methode

with open('example.txt', 'w') as f:
    lines = ['Hello, world!', 'Welcome to Python']
    f.writelines(lines)

writelines() ist die Methode, mit der eine Liste von Zeichenfolgen in eine Datei geschrieben wird. Bitte beachten Sie jedoch die folgenden Punkte:

  • Die Methode writelines() akzeptiert nur eine Liste von Zeichenfolgen als Parameter. Wenn Sie eine einzelne Zeichenfolge schreiben möchten, verwenden Sie die Methode write(). Die Methode

  • writelines() fügt nicht automatisch Zeilenumbrüche zwischen Zeichenfolgen ein, sie müssen manuell zur Zeichenfolge hinzugefügt werden. Die Methode

  • writelines() fügt am Ende der Liste keine Leerzeile hinzu. Wenn Sie eine Leerzeile an der letzten Zeile hinzufügen müssen, fügen Sie bitte manuell eine leere Zeichenfolge mit einem Zeilenumbruchzeichen hinzu.

  • Bei Verwendung der writelines()-Methode müssen Sie sicherstellen, dass der übergebene Parameter eine Liste mit Zeichenfolgen ist. Wenn es sich bei dem Parameter um ein Generatorobjekt handelt, muss er vor der Übergabe in eine Liste konvertiert werden.

lines = ['line 1\n', 'line 2\n', 'line 3\n']
 
with open('example.txt', 'w') as f:
    f.writelines(lines)

Die erweiterte Verwendung von Methoden besteht hauptsächlich darin, die Daten in einem Iteratorobjekt in eine Datei zu schreiben, ohne sie auf einmal in eine Liste konvertieren zu müssen. Dieser Ansatz ist für große Datensätze nützlich, da er die Elemente einzeln durchläuft und so vermeidet, dass alle Elemente im Speicher gespeichert werden.

def generate_lines():
    yield 'line 1\n'
    yield 'line 2\n'
    yield 'line 3\n'
 
with open('example.txt', 'w') as f:
    f.writelines(generate_lines())

Im obigen Code gibt die Funktion „generate_lines()“ ein Iteratorobjekt zurück, das nacheinander Zeichenfolgen generiert. Übergeben Sie dieses Iteratorobjekt dann an die Methode writelines(), die die Zeichenfolgen im Iteratorobjekt nacheinander in die Datei schreibt.

3. Print()-Funktion

Sie können die print()-Funktion verwenden, um Inhalte in eine Datei zu schreiben. Sie müssen den Dateiparameter als offenes Dateiobjekt angeben. Zum Beispiel:

with open('example.txt', 'w') as f:
    print('Hello, world!', file=f)

Im Folgenden sind die allgemeinen Parameter der print()-Funktion und ihre detaillierte Einführung aufgeführt:

Die print()-Funktion ist eine in Python integrierte Funktion zum Drucken von Ausgabeinformationen an das Terminal. Die Funktion print() kann mehrere Parameter akzeptieren und auf dem Terminal ausgeben.

Im Folgenden sind die allgemeinen Parameter der print()-Funktion und ihre detaillierte Einführung aufgeführt:

print(*objects, sep=' ', end='n', file=sys.stdout, flush=False)

  • *objects:一个或多个要打印输出的对象,可以是字符串、数字、变量等。可以接受任意数量的参数。

  • sep:用于分隔多个参数的字符,默认是一个空格。在打印输出多个参数时,sep 参数将作为它们之间的分隔符。

  • end:用于表示打印输出结束的字符,默认是一个换行符。在输出最后一个参数后,end 参数会被添加在它们后面的字符位置。

  • file参数可用于指定输出至一个文件对象,如果未指定则默认输出到标准输出设备sys.stdout。可以将输出重定向到文件中,以便将输出保存到文件中而不是终端。

  • flush:用于指定是否立即刷新缓冲区,默认为 False。如果设置 flush 参数为 True,那么输出会立即写入文件,而不需要等待缓冲区填满。

# 打印输出单个字符串
print("Hello World")
 
# 打印输出多个参数
print("Name:", "John", "Age:", 25)
 
# 使用自定义分隔符
print("Name:", "John", "Age:", 25, sep="-")
 
# 使用自定义结束符
print("Name:", "John", "Age:", 25, end=".")
 
# 将输出重定向到文件
with open('output.txt', 'w') as f:
    print("Hello World", file=f)
 
# 立即刷新缓冲区
print("Hello World", flush=True)

print(string, *args, **kwargs)

  • 一个包含需要输出的信息和格式化占位符的格式化字符串。占位符应该用花括号 {} 包含,同时指明相应数据的类型、宽度、精度等信息来进行填充格式化。

  • *args:可选参数,包含要填充到格式化字符串中的数据。

  • **kwargs:可选参数,包含键值对,用于指定格式化字符串中的占位符的值。

name = "John"
age = 25
 
# 使用占位符输出字符串
print("Name: {}, Age: {}".format(name, age))
 
# 使用关键字参数输出字符串
print("Name: {n}, Age: {a}".format(n=name, a=age))
 
# 使用 f-string 输出字符串
print(f"Name: {name}, Age: {age}")

四、使用 csv 模块

可以使用 csv 模块将数据写入 CSV 文件。例如:

import csv
 
with open('example.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['Name', 'Age', 'Gender'])
    writer.writerow(['Alice', 25, 'F'])
    writer.writerow(['Bob', 30, 'M'])

五、使用 json 模块

可以使用 json 模块将 Python 对象写入 JSON 文件。例如:

import json
 
data = {
    'name': 'Alice',
    'age': 25,
    'gender': 'F'
}
 
with open('example.json', 'w') as f:
    json.dump(data, f)

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Python, um Inhalte in eine Datei zu schreiben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen