So lesen und schreiben Sie Dateien in Python
Das Lesen und Schreiben aus Dateien ist eine gängige Aufgabe beim Programmieren, und Python macht es mit seinen integrierten Dateiverwaltungsfunktionen einfach. Das Verständnis für die Arbeit mit Dateien ist für jeden Python-Programmierer unerlässlich, da Sie damit Datenspeicherung, Protokollierung, Konfigurationsverwaltung und mehr handhaben können. In diesem Handbuch erfahren Sie, wie Sie Dateien in Python öffnen, lesen, schreiben und schließen und wie Sie mit verschiedenen Dateimodi umgehen.
Öffnen und Schließen von Dateien
In Python verwenden Sie die Funktion open()
, um eine Datei zu öffnen. Die Funktion open()
gibt ein Dateiobjekt zurück, das Methoden zum Lesen und Schreiben bereitstellt. Es ist wichtig, eine Datei nach der Verwendung mit der Methode close()
zu schließen, um Systemressourcen freizugeben.
# Opening and closing a file
file = open("example.txt", "r") # Open file for reading
# Perform file operations
file.close() # Close the file
Dateien lesen
Es gibt je nach Bedarf mehrere Möglichkeiten, den Inhalt einer Datei in Python zu lesen:
Lesen Sie die gesamte Datei
Die Methode read()
liest den gesamten Inhalt der Datei in einen einzigen String.
# Reading the entire file
with open("example.txt", "r") as file:
content = file.read()
print(content)
Zeilen einer Datei lesen
Die Methode readline()
liest eine Zeile aus der Datei, während readlines()
alle Zeilen liest und sie als Liste zurückgibt.
# Reading lines using readline()
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line.strip())
line = file.readline()
# Reading all lines using readlines()
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip())
Zeilenweises Lesen von Dateien
Die bevorzugte Methode zum zeilenweisen Lesen einer Datei ist die Verwendung einer for
-Schleife direkt auf dem Dateiobjekt. Dieser Ansatz ist speichereffizient, insbesondere bei großen Dateien.
# Reading file line by line using a for loop
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Schreiben in Dateien
Python ermöglicht Ihnen das Schreiben in Dateien mit den Methoden write()
und writelines()
. Sie müssen die Datei in einem Modus öffnen, der das Schreiben unterstützt, wie z. B. 'w'
(Schreiben) oder 'a'
(Anhängen).
Schreiben in eine Datei
Die Methode write()
schreibt einen einzelnen String in eine Datei. Das Öffnen einer Datei im Schreibmodus 'w'
erstellt eine neue Datei oder überschreibt eine vorhandene Datei.
# Writing to a file
with open("output.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
An eine Datei anhängen
Wenn Sie eine Datei im Anfügemodus 'a'
öffnen, können Sie Inhalt an das Ende einer vorhandenen Datei hinzufügen, ohne deren Inhalt zu überschreiben.
# Appending to a file
with open("output.txt", "a") as file:
file.write("\nThis line is appended.")
Mehrere Zeilen schreiben
Die Methode writelines()
wird verwendet, um mehrere Zeilen in eine Datei zu schreiben. Sie erwartet eine Liste von Zeichenfolgen, von denen jede eine Zeile darstellt.
# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
Dateimodi
Die Python-Funktion open()
unterstützt mehrere Modi zum Öffnen von Dateien:
'r'
- Lesemodus (Standard). Öffnet eine Datei zum Lesen.'w'
- Schreibmodus. Öffnet eine Datei zum Schreiben (erstellt eine neue Datei oder kürzt eine vorhandene Datei).'a'
- Anhängemodus. Öffnet eine Datei zum Anhängen (erstellt eine neue Datei, wenn sie nicht vorhanden ist).'r+'
- Lese- und Schreibmodus. Öffnet eine Datei sowohl zum Lesen als auch zum Schreiben.'b'
- Binärmodus. Öffnet eine Datei im Binärmodus (wird mit'rb'
,'wb'
usw. verwendet).
Abschluss
Das Lesen und Schreiben in Dateien in Python ist unkompliziert, wenn Sie die grundlegenden Konzepte und Dateimodi verstanden haben. Wenn Sie die Dateiverwaltung beherrschen, können Sie Daten effizient verwalten, Benutzereingaben/-ausgaben verarbeiten und Aufgaben automatisieren, die Dateioperationen beinhalten. Üben Sie die Verwendung dieser Techniken, um die Dateiverwaltung in Python zu beherrschen.