Aufgaben automatisieren mit Python-Skripten
Wiederkehrende Aufgaben kosten Zeit. In diesem Beitrag lernst du, wie du mit Python-Skripten Dateien sortierst, Argumente verarbeitest und Routinen automatisierst.
Jeder kennt diese kleinen, nervigen Aufgaben, die sich ständig wiederholen: Dateien umbenennen, einen Ordner aufräumen oder regelmäßig einen Bericht erstellen. Genau hier glänzt Python. Mit kurzen Skripten automatisierst du solche Routinen und sparst dir viel Zeit und Klickerei. In diesem Beitrag zeige ich dir die wichtigsten Bausteine, mit denen du deine eigenen Automatisierungen schreibst.
Mit dem Dateisystem arbeiten
Viele Automatisierungen drehen sich um Dateien und Ordner. Das moderne Modul pathlib macht den Umgang damit angenehm. Du kannst Ordnerinhalte auflisten, nach Endungen filtern und Pfade bequem zusammensetzen.
from pathlib import Path
ordner = Path("dokumente")
# Alle PDF-Dateien im Ordner auflisten
for datei in ordner.glob("*.pdf"):
print(datei.name)
Mit glob findest du gezielt Dateien nach Muster. Das ist die Grundlage für viele Aufräum- und Sortieraufgaben.
Dateien automatisch sortieren
Ein klassisches Beispiel: Du willst einen unaufgeräumten Download-Ordner nach Dateitypen sortieren. Mit wenigen Zeilen verschiebst du jede Datei in einen passenden Unterordner.
from pathlib import Path
quelle = Path("downloads")
zuordnung = {"bilder": [".jpg", ".png"], "dokumente": [".pdf", ".txt"]}
for datei in quelle.iterdir():
if datei.is_file():
for zielordner, endungen in zuordnung.items():
if datei.suffix.lower() in endungen:
ziel = quelle / zielordner
ziel.mkdir(exist_ok=True)
datei.rename(ziel / datei.name)
Mit mkdir(exist_ok=True) legst du den Zielordner an, ohne einen Fehler auszulösen, falls er schon existiert. rename verschiebt die Datei dann an ihren neuen Platz.
Befehle der Kommandozeile aufrufen
Manchmal willst du aus Python heraus andere Programme starten, etwa ein Backup-Tool oder einen Git-Befehl. Dafür gibt es das Modul subprocess.
import subprocess
# Ein Kommandozeilen-Programm aufrufen und die Ausgabe einfangen
ergebnis = subprocess.run(
["echo", "Hallo aus Python"],
capture_output=True,
text=True
)
print(ergebnis.stdout) # Hallo aus Python
Mit capture_output=True fängst du die Ausgabe ein, mit text=True bekommst du sie als lesbaren String statt als Bytes.
Argumente von der Kommandozeile lesen
Ein gutes Automatisierungsskript ist flexibel. Mit dem Modul argparse übergibst du beim Aufruf Parameter, etwa welchen Ordner das Skript bearbeiten soll.
import argparse
parser = argparse.ArgumentParser(description="Räumt einen Ordner auf.")
parser.add_argument("ordner", help="Pfad zum Zielordner")
parser.add_argument("--trocken", action="store_true", help="Nur anzeigen, nichts ändern")
args = parser.parse_args()
print("Bearbeite Ordner:", args.ordner)
if args.trocken:
print("Trockenlauf aktiv, es wird nichts verändert.")
Aufrufen kannst du das Skript dann zum Beispiel mit python aufraeumen.py downloads --trocken. So bleibt dein Skript wiederverwendbar.
Skripte zeitgesteuert ausführen
Automatisierungen entfalten ihre volle Wirkung, wenn sie regelmäßig von allein laufen. Dafür musst du selten Python-Code schreiben, sondern nutzt die Werkzeuge deines Betriebssystems. Unter Linux und macOS hilft cron.
# Eintrag in der Crontab: jeden Tag um 8 Uhr ausführen
0 8 * * * /usr/bin/python3 /pfad/zum/skript.py
Unter Windows übernimmt die Aufgabenplanung dieselbe Rolle. So läuft dein Skript zuverlässig im Hintergrund, ganz ohne dein Zutun.
Fazit
Mit Python automatisierst du lästige Routineaufgaben schnell und zuverlässig. Du hast die wichtigsten Bausteine kennengelernt: pathlib für den Umgang mit Dateien, subprocess zum Aufrufen anderer Programme, argparse für flexible Parameter und cron oder die Aufgabenplanung für die zeitgesteuerte Ausführung. Mein Tipp: Suche dir eine Aufgabe, die du regelmäßig von Hand erledigst, und schreibe dafür dein erstes kleines Automatisierungsskript. Der Zeitgewinn motiviert ungemein, und du lernst nebenbei eine Menge.