In diesem Tutorial behandeln wir verschiedene Dateioperationen in Python. Wir sehen uns an, wie Sie Dateien lesen, schreiben, kopieren und löschen – und einiges mehr. Legen wir los.
Warum sind Dateioperationen in Python wichtig?
Beim Arbeiten mit großen Datenmengen, besonders in Machine-Learning-Projekten, wird der Umgang mit Dateien unverzichtbar. Da Python in der Datenanalyse weit verbreitet ist, sind sichere Dateioperationen eine Kernkompetenz.
1. Eine Datei in Python mit der Funktion open() öffnen
Der erste Schritt bei der Arbeit mit Dateien in Python ist das Öffnen einer Datei. Dafür verwenden Sie die Funktion open().
Die Funktion open() nimmt zwei Argumente: den Dateinamen mit vollständigem Pfad und den Modus, in dem die Datei geöffnet werden soll. Gängige Modi sind:
'r': Öffnet die Datei zum Lesen (Standardmodus).'w': Öffnet die Datei zum Schreiben. Existiert die Datei nicht, wird sie erstellt. Existiert sie, wird ihr Inhalt überschrieben.'a': Öffnet die Datei zum Anhängen. Existiert die Datei nicht, wird sie erstellt.'r+': Öffnet die Datei zum Lesen und Schreiben.
Zusätzlich können Sie 'b' anhängen, um die Datei im Binärmodus zu öffnen, etwa 'rb' oder 'wb'.
Beispiel:
with open('file.txt', 'r') as file:
content = file.read()
print(content)
# The file is automatically closed when the block is exited2. Dateien in Python lesen und schreiben
Nach dem Öffnen einer Datei können Sie ihren Inhalt mit verschiedenen Methoden lesen:
read(size): Liest die gesamte Datei oder eine angegebene Anzahl Bytes.readline(): Liest eine einzelne Zeile aus der Datei.readlines(): Liest alle Zeilen der Datei und gibt sie als Liste zurück.
Beispiel:
with open('example.txt', 'r') as file:
# Read the entire file
content = file.read()
print(content)
# Reset the file pointer to the beginning
file.seek(0)
# Read the file line by line
for line in file:
print(line.strip())
3. In Dateien schreiben
Um in eine Datei zu schreiben, öffnen Sie sie im Schreibmodus ('w'), im Anhängemodus ('a') oder im Lese-/Schreibmodus ('r+' bzw. 'w+').
Beispiel:
# Writing to a new file or overwriting an existing file
with open('output.txt', 'w') as file:
file.write('This is a new line.\n')
# Appending to an existing file
with open('output.txt', 'a') as file:
file.write('This is an appended line.\n')
Hinweis: Wird eine Datei im Schreibmodus ('w') geöffnet, überschreibt das ihren Inhalt. Um das zu verhindern, nutzen Sie den Anhängemodus ('a') oder prüfen vorher, ob die Datei bereits existiert.
4. Dateien in Python mit dem Modul shutil kopieren
Das Modul shutil bietet einen einfachen Weg, Dateien zu kopieren:
import shutil
source = 'example.txt'
destination = 'example_copy.txt'
shutil.copy2(source, destination)
Die Funktion copy2() kopiert sowohl den Inhalt als auch die Metadaten der Datei.
5. Dateien in Python mit dem Modul os löschen
Zum Löschen einer Datei verwenden Sie die Funktion remove() aus dem Modul os.
import os
file = 'example_copy.txt'
if os.path.exists(file):
os.remove(file)
print(f'{file} has been deleted.')
else:
print(f'{file} does not exist.')
6. Umgang mit Dateipfaden
Der richtige Umgang mit Dateipfaden ist entscheidend, um Fehler wie FileNotFoundError zu vermeiden. Geben Sie beim Arbeiten mit Dateien immer die korrekten Pfade an.
Beispiel:
import os
file_path = '/Users/john/Desktop/example.txt'
if os.path.exists(file_path):
with open(file_path, 'r') as file:
print(file.read())
else:
print(f'File not found: {file_path}')
Häufige Fehler wie FileNotFoundError lassen sich vermeiden, indem Sie die Existenz der Datei mit os.path.exists() prüfen.
Passende Infrastruktur bei centron
Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,11 € im Monat, stundengenau abgerechnet. Cloud Server mieten →
Fazit: Dateioperationen in Python
Das sind die wichtigsten Dateioperationen in Python. Darüber hinaus bietet Python leistungsfähige Werkzeuge zum Lesen und Schreiben von CSV-Dateien, zur Verarbeitung von JSON-Daten und mehr. Wer diese Operationen beherrscht, arbeitet deutlich effizienter mit Daten.
Jetzt sind Sie dran: Probieren Sie diese Operationen aus und setzen Sie sie in Ihren eigenen Python-Projekten ein.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.