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.

Teilen
Aufgaben automatisieren mit Python-Skripten

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.