Dateien lesen und schreiben
Für eine eingehendere Betrachtung der Manipulation von Datei- und Verzeichnispfaden siehe die Seite Datei- und Verzeichnispfade.
Der Prozess des Datei lesens/schreibens
Um in Python in eine Datei zu lesen/schreiben, sollten Sie die with-Anweisung verwenden, die die Datei für Sie schließt, sobald Sie fertig sind, und die verfügbaren Ressourcen für Sie verwaltet.
Dateien öffnen und lesen
Die Funktion open öffnet eine Datei und gibt ein entsprechendes Datei-Objekt zurück.
# Datei mit 'with'-Anweisung lesen: schließt die Datei automatisch, wenn fertig
with open('/home/labex/project/hi.txt') as hello_file:
hello_content = hello_file.read() # Gesamten Dateiinhalt lesen
hello_content
'Hello World!'
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
with-Anweisung beim Öffnen von Dateien?Alternativ können Sie die Methode readlines() verwenden, um eine Liste von String-Werten aus der Datei zu erhalten, einen String für jede Textzeile:
# readlines()-Methode: gibt eine Liste von Strings zurück, einen pro Zeile
with open('sonnet29.txt') as sonnet_file:
sonnet_file.readlines() # Gibt Liste mit jeder Zeile als String zurück
['When, in disgrace with fortune and men's eyes,\n',
' I all alone beweep my outcast state,\n',
"And trouble deaf heaven with my bootless cries,\n",
"And look upon myself and curse my fate,']
Sie können auch zeilenweise durch die Datei iterieren:
# Zeilenweise durch Datei iterieren (speichereffizient für große Dateien)
with open('sonnet29.txt') as sonnet_file:
for line in sonnet_file: # Datei-Objekt ist iterierbar
print(line, end='') # Ohne zusätzliche neue Zeile ausgeben
When, in disgrace with fortune and men's eyes,
I all alone beweep my outcast state,
And trouble deaf heaven with my bootless cries,
And look upon myself and curse my fate,
In Dateien schreiben
# In Datei schreiben: 'w'-Modus überschreibt die vorhandene Datei
with open('bacon.txt', 'w') as bacon_file: # 'w' = Schreibmodus
bacon_file.write('Hello world!\n') # Gibt die Anzahl der geschriebenen Zeichen zurück
13
# An Datei anhängen: 'a'-Modus hängt an die vorhandene Datei an
with open('bacon.txt', 'a') as bacon_file: # 'a' = Anhängemodus
bacon_file.write('Bacon is not a vegetable.')
25
with open('bacon.txt') as bacon_file:
content = bacon_file.read()
print(content)
Hello world!
Bacon is not a vegetable.
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
'w' und dem Modus 'a'?'w' ist zum Lesen, 'a' ist zum Schreiben'w' überschreibt die Datei, 'a' hängt an die Datei an'w' ist für Windows, 'a' ist für Apple