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!'
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was ist der Hauptvorteil der Verwendung der with-Anweisung beim Öffnen von Dateien?
A. Die Datei wird automatisch geschlossen, wenn sie fertig ist, auch wenn ein Fehler auftritt
B. Dateien öffnen schneller
C. Dateien können gleichzeitig im Lese- und Schreibmodus geöffnet werden
D. Dateien werden automatisch komprimiert

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.
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was ist der Unterschied zwischen dem Öffnen einer Datei mit dem Modus 'w' und dem Modus 'a'?
A. 'w' ist zum Lesen, 'a' ist zum Schreiben
B. 'w' überschreibt die Datei, 'a' hängt an die Datei an
C. 'w' ist für Windows, 'a' ist für Apple
D. Es gibt keinen Unterschied