Routineaufgaben mit Python automatisieren - Al Sweigart - E-Book

Routineaufgaben mit Python automatisieren E-Book

Sweigart Al

0,0
36,90 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

US-Bestseller: Gegen stumpfsinnige Computeraufgaben! - Lernen Sie, Python-Programme zu schreiben, die Ihnen automatisch alle möglichen Aufgaben abnehmen. - In wenigen Minuten statt vielen Stunden zum fertigen Programm - Mit detaillierten Schritt-für-Schritt-Anleitungen, verständlichen Erklärungen und praxisnahen Beispielen   Wenn Sie jemals Stunden damit verbracht haben, Dateien umzubenennen oder Hunderte von Tabelleneinträgen zu aktualisieren, dann wissen Sie, wie stumpfsinnig manche Tätigkeiten sein können. Wie wäre es, den Computer dazu zu bringen, diese Arbeiten zu übernehmen? In diesem Buch lernen Sie, wie Sie mit Python Aufgaben in Sekundenschnelle erledigen können, die sonst viel Zeit in Anspruch nehmen würden. Programmiererfahrung brauchen Sie dazu nicht: Wenn Sie einmal die Grundlagen gemeistert haben, werden Sie Python-Programme schreiben, die automatisch alle möglichen praktischen Aufgaben für Sie abarbeiten: - Dateien nach Texten durchsuchen - Dateien und Ordner erzeugen, aktualisieren, verschieben und umbenennen - Das Web durchsuchen, Inhalte herunterladen - Excel-Dateien aktualisieren und formatieren - PDF-Dateien teilen, zusammenfügen, mit Wasserzeichen versehen und verschlüsseln - Erinnerungsmails und Textnachrichten verschicken - Onlineformulare ausfüllen   Schritt-für-Schritt-Anleitungen führen Sie durch jedes Programm und Übungsaufgaben am Ende jedes Kapitels fordern Sie dazu auf, die Programme zu verbessern und Ihre Fähigkeiten auf ähnliche Problemstellungen zu richten. Neu in dieser Auflage: 16 zusätzliche Projekte, darunter die Nutzung von OpenAI Whisper zur Transkription von Audio- und Videodateien, Playwright als Ergänzung zu Selenium zur Browsersteuerung, Texterkennung mit PyTesseract, Text-to-Speech-Funktionen, erweiterte PDF-Verarbeitung mit PyPDF und PDFMiner sowie Diagrammerstellung mit Matplotlib.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 945

Veröffentlichungsjahr: 2026

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Hinweise zur Benutzung

Dieses E-Book ist urheberrechtlich geschützt. Mit dem Erwerb des E-Books haben Sie sich verpflichtet, die Urheberrechte anzuerkennen und einzuhalten. Sie sind berechtigt, dieses E-Book für persönliche Zwecke zu nutzen. Sie dürfen es auch ausdrucken und kopieren, aber auch dies nur für den persönlichen Gebrauch. Die Weitergabe einer elektronischen oder gedruckten Kopie an Dritte ist dagegen nicht erlaubt, weder ganz noch in Teilen. Und auch nicht eine Veröffentlichung im Internet oder in einem Firmennetzwerk.

Copyright-Vermerk

Das vorliegende Werk ist in all seinen Teilen urheberrechtlich geschützt. Alle Nutzungs- und Verwertungsrechte liegen bei den Autor*innen und beim Rheinwerk Verlag, insbesondere das Recht der Vervielfältigung und Verbreitung, sei es in gedruckter oder in elektronischer Form.

© Rheinwerk Verlag GmbH, Bonn 2026

Nutzungs- und Verwertungsrechte

Sie sind berechtigt, dieses E-Book ausschließlich für persönliche Zwecke zu nutzen. Insbesondere sind Sie berechtigt, das E-Book für Ihren eigenen Gebrauch auszudrucken oder eine Kopie herzustellen, sofern Sie diese Kopie auf einem von Ihnen alleine und persönlich genutzten Endgerät speichern. Zu anderen oder weitergehenden Nutzungen und Verwertungen sind Sie nicht berechtigt.

So ist es insbesondere unzulässig, eine elektronische oder gedruckte Kopie an Dritte weiterzugeben. Unzulässig und nicht erlaubt ist des Weiteren, das E-Book im Internet, in Intranets oder auf andere Weise zu verbreiten oder Dritten zur Verfügung zu stellen. Eine öffentliche Wiedergabe oder sonstige Weiterveröffentlichung und jegliche den persönlichen Gebrauch übersteigende Vervielfältigung des E-Books ist ausdrücklich untersagt. Das vorstehend Gesagte gilt nicht nur für das E-Book insgesamt, sondern auch für seine Teile (z. B. Grafiken, Fotos, Tabellen, Textabschnitte).

Urheberrechtsvermerke, Markenzeichen und andere Rechtsvorbehalte dürfen aus dem E-Book nicht entfernt werden.

Die automatisierte Analyse des Werkes, um daraus Informationen insbesondere über Muster, Trends und Korrelationen gemäß § 44b UrhG (»Text und Data Mining«) zu gewinnen, ist untersagt.

Markenschutz

Die in diesem Werk wiedergegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. können auch ohne besondere Kennzeichnung Marken sein und als solche den gesetzlichen Bestimmungen unterliegen.

Haftungsausschluss

Ungeachtet der Sorgfalt, die auf die Erstellung von Text, Abbildungen und Programmen verwendet wurde, können weder Verlag noch Autor*innen, Herausgeber*innen oder Übersetzer*innen für mögliche Fehler und deren Folgen eine juristische Verantwortung oder irgendeine Haftung übernehmen.

Al Sweigart

Routineaufgaben mit Python automatisieren

Praktische Programmierlösungen für Einsteiger*innen

3., aktualisierte und erweiterte Auflage

Wir hoffen, dass Sie Freude an diesem Buch haben und sich Ihre Erwartungen erfüllen. Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: [email protected].

Informationen zu unserem Verlag und Kontaktmöglichkeiten finden Sie auf unserer Verlagswebsite www.dpunkt.de. Dort können Sie sich auch umfassend über unser aktuelles Programm informieren und unsere Bücher und E-Books bestellen.

Autor: Al Sweigart

Übersetzung: Torsten T. Will

Lektorat: Sandra Bollenbacher

Buchmanagement: Julia Griebel, Friederike Demmig

Copy-Editing: Annette Schwarz, Ditzingen

Satz: Ulrich Borstelmann, www.borstelmann.de

Herstellung: Stefanie Weidner, Frank Heidt

Covergestaltung: Eva Hepper, Silke Braun

Das vorliegende Werk ist in all seinen Teilen urheberrechtlich geschützt. Alle Rechte vorbehalten, insbesondere das Recht der Übersetzung, des Vortrags, der Reproduktion, der Vervielfältigung auf fotomechanischen oder anderen Wegen und der Speicherung in elektronischen Medien.

Ungeachtet der Sorgfalt, die auf die Erstellung von Text, Abbildungen und Programmen verwendet wurde, können weder Verlag noch Autor*innen, Herausgeber*innen oder Übersetzer*innen für mögliche Fehler und deren Folgen eine juristische Verantwortung oder irgendeine Haftung übernehmen.

Die in diesem Werk wiedergegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. können auch ohne besondere Kennzeichnung Marken sein und als solche den gesetzlichen Bestimmungen unterliegen.

Die automatisierte Analyse des Werkes, um daraus Informationen insbesondere über Muster, Trends und Korrelationen gemäß § 44b UrhG (»Text und Data Mining«) zu gewinnen, ist untersagt.

Bibliografische Information der Deutschen Nationalbibliothek:

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.dnb.de abrufbar.

ISBN Print: 978-3-98889-063-4

ISBN PDF: 978-3-98890-307-5

ISBN ePub: 978-3-98890-308-2

Copyright © 2025 by Al Sweigart. Title of English-language original: Automate the Boring Stuff with Python, 3rd Edition: Practical Programming for Total Beginners, ISBN 9781718503403, published by No Starch Press Inc., 245 8th Street, San Francisco, California United States 94103. The Germanlanguage 3rd edition Copyright © 2026 by Rheinwerk Verlag GmbH under license by No Starch Press Inc. All rights reserved.

3., aktualisierte und erweiterte Auflage 2026

dpunkt.verlag ist eine Marke des Rheinwerk Verlags.

Translation Copyright für die deutsprachige Ausgabe © Rheinwerk Verlag, Bonn 2026

Rheinwerk Verlag GmbH • Rheinwerkallee 4 • 53227 Bonn

[email protected]

Inhalt

Über den Autor

Über den technischen Gutachter

Vorwort

Danksagungen

Einführung

Für wen ist dieses Buch geschrieben?

Programmiergepflogenheiten in diesem Buch

Was ist Programmierung?

Was ist Python?

Weit verbreitete Mythen über Programmierung

Programmierer müssen nicht viel Mathematik beherrschen

Sie sind nicht zu alt, um Programmierung zu lernen

KI wird Programmierer nicht ersetzen

Über dieses Buch

Python herunterladen und installieren

Mu herunterladen und installieren

Mu starten

IDLE starten

Die interaktive Shell

Wie Sie Hilfe finden

Programmierfragen schlau stellen

Neu in der dritten Auflage

Zusammenfassung

Teil I: Programmiergrundlagen

1 Python-Grundlagen

Ausdrücke in die interaktive Shell eingeben

Zeichenketten: Verkettung und Wiederholung

Werte in Variablen speichern

Zuweisungsanweisungen

Variablennamen

Ihr erstes Programm

Das Programm unter der Lupe

Kommentare

Die Funktion print()

Die Funktion input()

Die Begrüßungsnachricht

Die Funktion len()

Die Funktionen str(), int() und float()

Die Funktion type()

Die Funktionen round() und abs()

Wie Computer Daten in Binärzahlen speichern

Zusammenfassung

Übungsaufgaben

2 if-else und Ablaufsteuerung

Boolesche Werte

Vergleichsoperatoren

Boolesche Operatoren

Verwendung von booleschen und Vergleichsoperatoren

Bestandteile von Kontrollstrukturen

Bedingungen

Codeblöcke

Programmausführung

Kontrollstrukturanweisungen

if

else

elif

Ein kurzes Programm: Gegenteil-Tag

Ein kurzes Programm: Unehrlicher Kapazitätsrechner

Zusammenfassung

Übungsfragen

3 Schleifen

while-Schleifen-Anweisungen

Eine lästige while-Schleife

break-Anweisungen

continue-Anweisungen

for-Schleifen und die Funktion range()

Eine gleichwertige while-Schleife

Argumente für range()

Importieren von Modulen

Ein Programm vorzeitig mit sys.exit() beenden

Ein kurzes Programm: Zahl erraten

Ein kurzes Programm: Stein, Schere, Papier

Zusammenfassung

Übungsfragen

4 Funktionen

Funktionen erstellen

Argumente und Parameter

Rückgabewerte und return-Anweisungen

Der Wert »None«

Benannte Parameter

Der Call Stack

Lokaler und globaler Geltungsbereich

Regeln zum Gültigkeitsbereich

Die global-Anweisung

Identifikation des Gültigkeitsbereichs

Ausnahmebehandlung

Ein kurzes Programm: Zigzag

Ein kurzes Programm: Spike

Zusammenfassung

Übungsfragen

Übungsprogramme

Die Collatz-Sequenz

Eingabevalidierung

5 Debugging

Ausnahmen auslösen

Assertions

Loggen

Das Logging-Modul

Protokolldateien

Eine schlechte Praxis: Debuggen mit print()

Loglevel

Deaktiviertes Logging

Der Debugger von Mu

Debugging eines Additionsprogramms

Breakpoints setzen

Zusammenfassung

Übungsfragen

Übungsprogramm: Münzwurf debuggen

6 Listen

Der Listendatentyp

Indizes

Negative Indizes

Ausschnitte (Slices)

Die Funktion len()

Wertaktualisierungen

Verkettung und Vervielfältigung

del-Anweisungen

Arbeiten mit Listen

for-Schleifen und Listen

Die Operatoren in und not in

Der Trick der Mehrfachzuweisung

Enumerierung von Listenelementen

Zufällige Auswahl und Anordnung

Erweiterte Zuweisungsoperatoren

Methoden

Werte finden

Werte hinzufügen

Werte entfernen

Werte sortieren

Umkehren von Werten

Kurzschlussauswertung mit booleschen Operatoren

Ein kurzes Programm: Magisches Orakel mit einer Liste

Sequenz-Datentypen

Veränderliche und unveränderliche Datentypen

Der Tupel-Datentyp

Typumwandlung zwischen Liste und Tupel

Referenzen

Argumente

Die Funktionen copy() und deepcopy()

Ein kurzes Programm: der Matrix-Bildschirmschoner

Zusammenfassung

Übungsfragen

Übungsprogramme

Komma-Code

Münzwurf-Serien

7 Dictionaries und Strukturierung von Daten

Der Dictionary-Datentyp

Vergleich von Dictionary und Liste

Schlüssel und Werte zurückgeben

Überprüfen, ob ein Schlüssel existiert

Standardwerte festlegen

Reale Objekte mithilfe von Datenstrukturen modellieren

Projekt 1:

Interaktiver Schachbrett-Simulator

Schritt 1: Das Programm einrichten

Schritt 2: Eine Schachbrettvorlage erstellen

Schritt 3: Das aktuelle Schachbrett ausgeben

Schritt 4: Manipulation des Schachbretts

Verschachtelte Dictionaries und Listen

Zusammenfassung

Übungsfragen

Übungsprogramme

Schach-Dictionary-Validator

Fantasy-Spiel-Inventar

Listen-zu-Dictionary-Beute-Umwandlung

8 Strings und Textbearbeitung

Arbeiten mit Strings

String-Literale

Indizes und Slices

Die in- und not in-Operatoren

f-Strings

Alternativen zu f-Strings: %s und format()

Nützliche String-Methoden

Groß- und Kleinschreibung ändern

Überprüfen von String-Eigenschaften

Den Anfang oder das Ende eines Strings überprüfen

Strings zusammenfügen und aufteilen

Text ausrichten und zentrieren

Entfernen von Leerzeichen

Numerische Codepunkte von Zeichen

Strings kopieren und einfügen

Projekt 2:

Aufzählungszeichen zum Wiki-Markup hinzufügen

Schritt 1: Kopieren und Einfügen aus der Zwischenablage

Schritt 2: Zeilen des Textes trennen

Schritt 3: Die bearbeiteten Zeilen verbinden

Ein kurzes Programm: Pig Latin

Zusammenfassung

Übungsaufgaben

Übungsprogramm: Tabellen-Drucker

Teil II: Aufgaben automatisieren

9 Texterkennung mit regulären Ausdrücken

Textmuster ohne reguläre Ausdrücke finden

Textmuster mit regulären Ausdrücken finden

Die Syntax regulärer Ausdrücke

Gruppieren mit Klammern

Escape-Sequenzen verwenden

Zeichen aus alternativen Gruppen abgleichen

Alle Übereinstimmungen zurückgeben

Qualifizierer-Syntax: Welche Zeichen sollen abgeglichen werden?

Zeichenklassen und negative Zeichenklassen verwenden

Kurzschreibweisen für Zeichenklassen verwenden

Alles mit dem Punktzeichen finden

Seien Sie vorsichtig, was Sie suchen

Quantifizierer-Syntax: Wie viele Qualifizierer sollen gefunden werden?

Ein optionales Muster finden

Null oder mehr Qualifizierer finden

Finden von einem oder mehreren Qualifizierern

Finden einer bestimmten Anzahl von Qualifizierern

Gieriges und nichtgieriges Suchen

Alles finden

Zeilenumbruchzeichen finden

Finden am Anfang und Ende eines Strings

Groß-/Kleinschreibungsunabhängiges Suchen

Strings ersetzen

Komplexe Regexes im ausführlichen Modus beherrschen

Kombinieren von re.IGNORECASE, re.DOTALL und re.VERBOSE

Projekt 3:

Kontaktinformationen aus umfangreichen Dokumenten extrahieren

Schritt 1: Eine Regex für Telefonnummern erstellen

Schritt 2: Erstellen Sie eine Regex für E-Mail-Adressen

Schritt 3: Alle Übereinstimmungen im Text der Zwischenablage finden

Schritt 4: Fassen Sie die Übereinstimmungen zu einem String zusammen Ideen für ähnliche Programme

Humre: ein Modul für menschenlesbare Regexes

Zusammenfassung

Übungsaufgaben

Übungsprogramme

Starke Passworterkennung

Regex-Version der strip()-Methode

10 Dateien lesen und schreiben

Dateien und Dateipfade

Pfad-Trennzeichen standardisieren

Pfade verbinden

Zugriff auf das aktuelle Arbeitsverzeichnis

Zugriff auf das Home-Verzeichnis

Absolute und relative Pfade angeben

Neue Ordner anlegen

Umgang mit absoluten und relativen Pfaden

Die Bestandteile eines Dateipfads ermitteln

Dateigrößen und Zeitstempel ermitteln

Dateien mithilfe von Glob-Mustern finden

Überprüfung der Pfadgültigkeit

Lesen und Schreiben von Dateien

Dateien öffnen

Den Inhalt von Dateien lesen

In Dateien schreiben

Verwendung von with-Anweisungen

Variablen mit dem shelve-Modul speichern

Projekt 4:

Erstellen Sie zufällige Quiz-Dateien

Schritt 1: Speichern der Quizdaten in einem Dictionary

Schritt 2: Erstellen der Quiz-Datei

Schritt 3: Die Antwortoptionen erstellen

Schritt 4: Schreiben des Inhalts der Dateien

Zusammenfassung

Übungsaufgaben

Übungsprogramme

Mad Libs

Regex-Suche

11 Dateien organisieren

Das Modul shutil

Dateien und Ordner kopieren

Verschieben und Umbenennen von Dateien und Ordnern

Dateien und Ordner dauerhaft löschen

Löschen in den Papierkorb

Einen Verzeichnisbaum durchlaufen

Dateien komprimieren mit dem Modul zipfile

ZIP-Dateien erstellen und hinzufügen

ZIP-Dateien lesen

Extrahieren aus ZIP-Dateien

Projekt 5:

Sichern Sie einen Ordner in einer ZIP-Datei

Schritt 1: Den Namen der ZIP-Datei festlegen

Schritt 2: Erstellen Sie die neue ZIP-Datei

Schritt 3: Durchlaufen Sie den Verzeichnisbaum

Ideen für weitere Programme

Zusammenfassung

Übungsaufgaben

Übungsprogramme

Selektives Kopieren

Unnötige Dateien löschen

Dateien umnummerieren

Amerikanische Datumsangaben ins europäische Format umwandeln

12 Kommandozeilenprogramme entwickeln und bereitstellen

Ist es das Programm, das alles wirkt und schafft?

Verwendung des Terminals

Die Kommandos cd, pwd, dir und ls

Die Umgebungsvariable PATH

PFAD-Bearbeitung

Die Kommandos »which« und »where«

Virtuelle Umgebungen

Python-Pakete mit pip installieren

Selbsterkennende Python-Programme

Textbasiertes Programmdesign

Kurze Kommandonamen

Kommandozeilenargumente

Zwischenablage-I/O

Farbiger Text mit Bext

Terminal leeren

Signal- und Textbenachrichtigung

Ein kurzes Programm: Schneesturm

Pop-up-Nachrichtenboxen mit PyMsgBox

Python-Programme bereitstellen

Windows

macOS

Ubuntu Linux

Ein kurzes Programm: Das aktuelle Arbeitsverzeichnis kopieren

Windows

macOS

Ubuntu Linux

Ein kurzes Programm: Zwischenablage-Recorder

Windows

macOS

Ubuntu Linux

Kompilieren von Python-Programmen mit PyInstaller

Zusammenfassung

Übungsaufgaben

Übungsprogramm: Machen Sie Ihre Programme bereit für den Einsatz

13 Web Scraping

HTTP und HTTPS

Projekt 6:

Starten Sie ein Programm mit dem browser-Modul

Schritt 1: Ermitteln der URL

Schritt 2: Kommandozeilenargumente verarbeiten

Schritt 3: Inhalt der Zwischenablage abrufen

Ideen für ähnliche Programme

Dateien mit »requests« aus dem Web laden

Webseiten herunterladen

Fehlerprüfung

Heruntergeladene Dateien auf dem Laufwerk speichern

Zugriff auf eine Wetter-API

Abrufen von Breitengrad und Längengrad

Das aktuelle Wetter abrufen

Eine Wettervorhersage abrufen

APIs erkunden

HTML verstehen

Das Format erkunden

Anzeigen des Quelltexts einer Webseite

Die Entwicklertools Ihres Browsers öffnen

HTML-Elemente finden

HTML mit Beautiful Soup parsen

Ein Beautiful-Soup-Objekt erstellen

Daten aus den Attributen eines Elements abrufen

Projekt 7:

Alle Suchergebnisse öffnen

Schritt 1: Die Suchseite abrufen

Schritt 2: Alle Ergebnisse finden

Schritt 3: Browser für jedes Ergebnis öffnen

Ideen für ähnliche Programme

Projekt 8:

XKCD-Comics herunterladen

Schritt 1: Das Programm entwerfen

Schritt 2: Die Webseite herunterladen

Schritt 3: Finden und Herunterladen des Comic-Bilds

Schritt 4: Das Bild speichern und den vorherigen Comic suchen

Ideen für ähnliche Programme

Den Browser mit Selenium steuern

Start eines von Selenium gesteuerten Browsers

Browser-Schaltflächen anklicken

Elemente auf der Seite finden

Elemente auf der Seite anklicken

Formulare ausfüllen und absenden

Sondertasten senden

Den Browser mit Playwright steuern

Starten eines von Playwright gesteuerten Browsers

Browser-Schaltflächen anklicken

Elemente auf der Seite finden

Elemente auf der Seite anklicken

Formulare ausfüllen und absenden

Sondertasten senden

Zusammenfassung

Übungsaufgaben

Übungsprogramme

Bildseiten-Downloader

2048

Link-Verifikation

14 Excel-Tabellen

Excel-Dateien lesen

Eine Arbeitsmappe öffnen

Lesen von Tabellen aus der Arbeitsmappe

Zellen aus Tabellen lesen

Umwandlung zwischen Spaltenbuchstaben und Spaltennummern

Zeilen und Spalten holen

Projekt 9:

Zensus-Statistiken erfassen

Schritt 1: Die Daten der Tabellenkalkulation einlesen

Schritt 2: Ausfüllen der Datenstruktur

Schritt 3: Speichern Sie die Ergebnisse in einer Datei

Ideen für vergleichbare Programme

Excel-Dokumente erstellen

Excel-Dateien erstellen und speichern

Erstellen und Entfernen von Tabellen

Werte in Zellen schreiben

Projekt 10:

Aktualisieren einer Tabellenkalkulation

Schritt 1: Eine Datenstruktur mit den aktualisierten Informationen anlegen

Schritt 2: Alle Zeilen überprüfen und fehlerhafte Preise anpassen

Ideen für vergleichbare Programme

Die Schriftart von Zellen festlegen

Formeln

Anpassen von Zeilen und Spalten

Festlegen von Zeilenhöhe und Spaltenbreite

Zellen zusammenführen und aufteilen

Fenster fixieren

Diagramme

Zusammenfassung

Übungsfragen

Übungsprogramme

Multiplikationstabellenersteller

Leere-Zeilen-Einfüger

15 Google Sheets

EZSheets installieren und einrichten

Ein neues Google Cloud-Projekt erstellen

Aktivieren der Sheets- und Drive-APIs

Konfiguration des OAuth-Zustimmungsbildschirms

Anmeldedaten erstellen

Anmelden mit der Anmeldedatendatei

Die Anmeldedatendatei widerrufen

Google Sheets-Tabellen

Erstellen, Hochladen und Auflisten von Spreadsheets

Zugriff auf Attribute von Spreadsheet

Herunterladen und Hochladen von Spreadsheets

Spreadsheets löschen

Worksheet-Objekte

Daten lesen und schreiben

Erstellen, Verschieben und Löschen von Tabellen

Tabellenblätter kopieren

Google Formulare

Projekt 11:

Schein-Blockchain-Kryptowährungsbetrug

Schritt 1: Überprüfung der fiktiven Blockchain

Schritt 2: Transaktionen durchführen

Arbeiten mit Anfragelimits in Google Sheets

Zusammenfassung

Übungsfragen

Übungsprogramme

Google Forms-Daten herunterladen

Spreadsheets in andere Formate umwandeln

Fehler in einem Spreadsheet erkennen

16 SQLite-Datenbanken

Tabellenkalkulationen vs. Datenbanken

SQLite im Vergleich zu anderen SQL-Datenbanken

Datenbanken und Tabellen erstellen

Verbindung zu Datenbanken herstellen

Tabellen erstellen

Datentypen definieren

Tabellen und Spalten auflisten

CRUD-Datenbankoperationen

Einfügen von Daten in die Datenbank

Daten aus der Datenbank auslesen

Daten in der Datenbank aktualisieren

Daten aus der Datenbank löschen

Transaktionen zurückrollen

Datenbanken fürs Backup sichern

Tabellen ändern und löschen

Mehrere Tabellen mit Fremdschlüsseln verbinden

In-Memory-Datenbanken und Backups

Datenbanken kopieren

SQLite-Anwendungen

Zusammenfassung

Übungsfragen

Übungsprogramme

Katzen-Impfstatus-Prüfer

Datenbank der Gerichtzutaten

17 PDFs und Word-Dokumente

PDF-Dokumente

Text extrahieren

Nachbearbeitung mit KI

Bilder extrahieren

PDFs aus anderen Seiten erstellen

Projekt 12:

Ausgewählte Seiten aus vielen PDFs kombinieren

Schritt 1: Alle PDF-Dateien ermitteln

Schritt 2: Jede PDF-Datei öffnen

Schritt 3: Speichern Sie die Ergebnisse

Ideen für vergleichbare Programme

Word-Dokumente

Word-Dokumente lesen

Den vollständigen Text aus einer .docx-Datei extrahieren

Formatierung von Paragraph- und Run-Objekten

Word-Dokumente schreiben

Überschriften hinzufügen

Zeilen- und Seitenumbrüche einfügen

Bilder einfügen

Zusammenfassung

Übungsfragen

Übungsprogramme

PDF-Paranoia

Individuelle Einladungen

18 CSV-, JSON- und XML-Dateien

Das CSV-Format

CSV-Dateien lesen

Datenzugriff in einer for-Schleife

CSV-Dateien schreiben

Verwendung von Tabs anstelle von Kommas

Verarbeitung von Kopfzeilen

Projekt 13:

Entfernen der Kopfzeile aus CSV-Dateien

Schritt 1: Jede Datei durchlaufen

Schritt 2: Lesen der Datei

Schritt 3: Die neue CSV-Datei schreiben

Ideen für vergleichbare Programme

Vielseitige Klartextformate

Json

Xml

Zusammenfassung

Übungsfragen

Übungsprogramm: Excel-zu-CSV-Konverter

19 Zeit messen, Aufgaben planen und Programme starten

Das Modul time

Den Epoch-Timestamp abrufen

Programme anhalten

Projekt 14:

Super-Stoppuhr

Schritt 1: Konfigurieren Sie das Programm zur Zeiterfassung

Schritt 2: Rundenzeiten erfassen und ausgeben

Ideen für vergleichbare Programme

Das Modul datetime

Zeitdauer darstellen

Pausieren bis zu einem bestimmten Datum

Umwandlung von datetime-Objekten in Strings

Konvertieren von Strings in datetime-Objekte

Andere Programme aus Python heraus starten

Kommandozeilenargumente an Prozesse übergeben

Ausgabe der gestarteten Kommandos lesen

Ausführen von Task Scheduler, launchd und cron

Dateien mit Standardanwendungen öffnen

Projekt 15:

Einfacher Countdown

Schritt 1: Herunterzählen

Schritt 2: Die Sounddatei abspielen

Ideen für vergleichbare Programme

Zusammenfassung

Übungsfragen

Übungsprogramme

Verschönerte Stoppuhr

Freitag-der-13.-Finder

20 Versand von E-Mail, Text und Push-Benachrichtigungen

Die Gmail-API

API aktivieren

E-Mails versenden

E-Mails lesen

Suche nach E-Mails

Anhänge herunterladen

SMS-E-Mail-Gateways

Push-Benachrichtigungen

Benachrichtigungen versenden

Metadaten übertragen

Benachrichtigungen empfangen

Zusammenfassung

Übungsfragen

Übungsprogramme

Regenschirm-Erinnerung

Automatischer Abmelder

Computersteuerung über E-Mail

21 Diagramme erstellen und Bilder manipulieren

Computerbilder Grundlagen

Farben und RGBA-Werte

Koordinaten und Box-Tupel

Bildmanipulation mit Pillow

Arbeiten mit dem Image-Datentyp

Bilder zuschneiden

Bilder in andere Bilder einfügen

Bilder skalieren

Bilder drehen und spiegeln

Einzelne Pixel ändern

Projekt 16:

Ein Logo hinzufügen

Schritt 1: Das Logo-Bild öffnen

Schritt 2: Über alle Dateien iterieren

Schritt 3: Die Bilder skalieren

Schritt 4: Logo hinzufügen und Änderungen speichern

Ideen für ähnliche Programme

Zeichnen auf Bildern

Formen

Text

Bilder in die Zwischenablage kopieren und daraus einfügen

Diagramme mit Matplotlib erstellen

Liniendiagramme und Streudiagramme

Balkendiagramme und Torten- oder Kreisdiagramme

Zusätzliche Komponenten

Zusammenfassung

Übungsfragen

Übungsprogramme

Fliesenleger

Foto-Ordner auf der Festplatte identifizieren

Individuelle Sitzkarten erstellen

22 Texterkennung in Bildern

Tesseract und PyTesseract installieren

Windows

macOS

Linux

PyTesseract

Grundlagen der OCR

Vorverarbeitung eines Bildes

Fehlerkorrektur mit großen Sprachmodellen

Texterkennung in nichtenglischen Sprachen

Die NAPS2-Scanner-Anwendung

NAPS2 installieren und einrichten

NAPS2 aus Python heraus ausführen

Eingabe spezifizieren

Zusammenfassung

Übungsfragen

Übungsprogramm: Browser-Text-Scraper

23 Steuerung von Tastatur und Maus

Einrichten von Bedienungshilfen-Apps in macOS

Den Kurs beibehalten

Pausen und Sicherheitsmechanismen

Abmeldungen

Steuerung der Mausbewegung

Den Mauszeiger bewegen

Die aktuelle Position ermitteln

Steuerung der Mausinteraktion

Klicken

Ziehen

Scrollen

Planen Sie Ihre Mausbewegungen

Screenshots aufnehmen

Bilderkennung

Fensterinformationen abrufen

Das aktive Fenster ermitteln

Fenster mit anderen Funktionen ermitteln

Fenster manipulieren

Die Tastatur steuern

Tastatureingabe-Strings senden

Tastennamen angeben

Drücken und Loslassen von Tasten

Tastenkombinationen ausführen

Einrichtung von GUI-Automatisierungsskripten

Anzeigen von Pop-up-Nachrichtenfeldern

Zusammenfassung

Übungsfragen

Übungsprogramme

Beschäftigt wirken

Textfelder mit der Zwischenablage auslesen

Einen spielenden Bot entwickeln

24 Text-zu-Sprache- und Spracherkennungsengines

Text-zu-Sprache-Engine

Sprachausgabe erzeugen

Sprachausgabe als WAV-Dateien speichern

Spracherkennung

Erstellung von Untertiteldateien

Herunterladen von Videos von Websites

Zusammenfassung

Übungsfragen

Übungsprogramme

Sprachausgabe zum Zahlenratespiel hinzufügen

»99 Bottles of Beer« singen

YouTube-Transkriptor

Anhang

A Installation von Drittanbieter-Paketen

pip installieren

pip auffinden

Pip aus virtuellen Umgebungen ausführen

Installation der in diesem Buch verwendeten Pakete

B Antworten auf Übungsfragen

Kapitel 1

Kapitel 2

Kapitel 3

Kapitel 4

Kapitel 5

Kapitel 6

Kapitel 7

Kapitel 8

Kapitel 9

Kapitel 10

Kapitel 11

Kapitel 12

Kapitel 13

Kapitel 14

Kapitel 15

Kapitel 16

Kapitel 17

Kapitel 18

Kapitel 19

Kapitel 20

Kapitel 21

Kapitel 22

Kapitel 23

Kapitel 24

Stichwortverzeichnis

Für meinen Neffen Jack

Über den Autor

Al Sweigart ist Softwareentwickler, Autor, Künstler und Fellow der Python Software Foundation. Er hat mehrere Bücher zur Programmierung für Einsteiger verfasst, darunter Invent Your Own Computer Games with Python, The Big Book of Small Python Projects und Beyond the Basic Stuff with Python (alle erschienen bei No Starch Press). Außerdem ist er internationaler Sprecher auf verschiedenen PyCon-Konferenzen. Seine Website ist https://inventwithpython.com.

Berichte darüber, dass Al eine AI sei, sind stark übertrieben.

Über den technischen Gutachter

Dr. Daniel Zingaro ist außerordentlicher Professor für Informatik an der Universität von Toronto. International bekannt ist er für seinen einzigartig interaktiven Ansatz in der Lehre, seine wegweisende Forschung zum Lehren mit generativer KI sowie für seine Lehrbücher, die von Tausenden Studierenden weltweit genutzt werden. Er ist Autor von Algorithmic Thinking, 2. Auflage (No Starch Press, 2024), und Learn to Code by Solving Problems (No Starch Press, 2021) sowie Co-Autor von Learn AI-Assisted Python Programming with GitHub Copilot and ChatGPT (Manning, 2023).

Vorwort

Ich kenne Al Sweigart schon so lange, wie er Bücher schreibt. Zuerst lernte ich Al als Leser kennen, dann als Kollegen und in jüngerer Zeit als Freund. Al setzt sich intensiv und kritisch mit Programmierung auseinander – damit, wie Menschen lernen und wie wir als Gesellschaft zusammenleben. Sie könnten sich keinen besseren Lehrer wünschen.

Es gibt zwei Hauptgründe, warum Menschen sich mit Programmierung beschäftigen möchten. Viele verfolgen das Ziel, eine bestimmte Aufgabe zu automatisieren oder ein konkretes Problem mithilfe von Code zu lösen, während andere ein allgemeines Interesse daran haben, eine neue Fähigkeit zu erlernen. Häufig entsteht die Motivation zum Lernen aus einer Kombination dieser beiden Gründe. In jedem Fall ist Python eine ideale Programmiersprache zum Erlernen. Sie können eine große Auswahl an Bibliotheken herunterladen, mit denen sich nahezu jede vorstellbare Aufgabe automatisieren lässt, und Sie finden zahlreiche Python-Ressourcen, die es Ihnen fast immer ermöglichen, rasch mit der Lösung Ihrer wichtigsten Probleme zu beginnen.

Routineaufgaben mit Python automatisieren war schon bei seiner Veröffentlichung vor zehn Jahren ein brillantes Konzept – und ist es auch heute noch. Das zeigt sich daran, dass es seit seiner Veröffentlichung zu den wichtigsten Ressourcen für das Erlernen von Python zählt. Wenn Sie eine bestimmte Aufgabe direkt lösen möchten, finden Sie in diesem Buch zahlreiche praxisnahe Beispiele, die Sie an Ihre eigenen Bedürfnisse anpassen können. Wenn Sie ein umfassenderes Verständnis der Programmierung entwickeln möchten, bietet die Umsetzung praxisnaher Projekte, wie Sie sie hier finden, einen ausgezeichneten Weg dazu.

Es gab noch nie einen besseren Zeitpunkt, um Python zu lernen. Manche, die dem Hype um künstliche Intelligenz Glauben schenken, behaupten, Sie müssten Programmierung nicht mehr lernen, da KI-Tools den gesamten Code für Sie schreiben können. Andere sagen, dass von KI generierter Code unbrauchbar sei und niemals funktionieren werde. Wie so oft liegt die Wahrheit zwischen diesen beiden Extremen.

KI-Tools können Sie bei Ihrer Programmierarbeit durchaus unterstützen. Sie arbeiten jedoch wesentlich besser, wenn Sie bereits ein fundiertes Verständnis von Programmierung besitzen und wissen, wie Sie diese gezielt zur Lösung Ihrer konkreten Aufgaben einsetzen. Andernfalls stoßen Sie nahezu zwangsläufig auf Hürden, die weder Sie noch der KI-Assistent überwinden können. Wenn Sie jedoch das Wissen und Verständnis, das Sie mit diesem Buch erwerben, in Verbindung mit einem KI-Assistenten nutzen, sind Sie in der Lage, effizient nützliche und wirkungsvolle Werkzeuge für sich selbst zu erstellen.

Genießen Sie diese Reise; sie ist großartig!

Eric Matthes

Autor von Python Crashkurs (dpunkt.verlag, 2023)

Danksagungen

Es ist irreführend, dass nur mein Name auf dem Umschlag erscheint. Ohne die Unterstützung vieler Menschen hätte ich ein solches Buch nicht verfassen können. Ich möchte meinem Verleger Bill Pollock danken, meinen Lektorinnen und Lektoren Laurel Chun, Leslie Shen, Greg Poulos, Jennifer Griffith-Delgado, Frances Saux, Jill Franklin, Sabrina Plomitallo-González und Allison Felus sowie dem übrigen Team von No Starch Press für ihre unschätzbare Unterstützung. Mein besonderer Dank gilt den technischen Gutachtern Ari Lacenski, Philip James und Dr. Daniel Zingaro für ihre wertvollen Anregungen, Korrekturen und die kontinuierliche Unterstützung.

Vielen Dank an alle bei der Python Software Foundation für ihre hervorragende Arbeit. Die Organisatorinnen, Organisatoren und freiwilligen Helfer aller PyCon- und DjangoCon-Konferenzen leisten Außergewöhnliches. Die Python-Community ist die beste, die ich in der Tech-Branche kennengelernt habe.

Vielen Dank.

Teil IProgrammiergrundlagen

1Python-Grundlagen

Die Programmiersprache Python verfügt über eine Vielzahl von syntaktischen Konstrukten, Standardbibliotheksfunktionen und Merkmalen der interaktiven Entwicklungsumgebung. Zum Glück können Sie das meiste davon außer Acht lassen; Sie müssen lediglich genug lernen, um einige nützliche kleine Programme zu schreiben. Um dies zu erreichen, müssen Sie jedoch einige Programmierkonzepte beherrschen. Wie ein Zauberlehrling mögen Ihnen diese Konzepte zunächst mühsam erscheinen, doch mit etwas Übung werden Sie damit Ihren Computer wie mit einem Zauberstab steuern und beeindruckende Dinge vollbringen können.

Dieses Kapitel enthält einige Beispiele, die Sie dazu ermutigen, Code in der interaktiven Shell einzugeben – auch bekannt als die Read-Evaluate-Print Loop (REPL). Diese ermöglicht es Ihnen, Python-Anweisungen einzeln auszuführen (also laufen zu lassen) und direkt das Ergebnis zu sehen. Die Nutzung der interaktiven Shell eignet sich hervorragend, um zu verstehen, wie grundlegende Python-Anweisungen funktionieren. Probieren Sie es also aus, während Sie das Kapitel durcharbeiten. Sie erinnern sich an Dinge, die Sie selbst tun, wesentlich besser als an Dinge, die Sie lediglich gelesen haben.

Ausdrücke in die interaktive Shell eingeben

Sie können die interaktive Shell starten, indem Sie den Mu-Editor öffnen. Die Einführung dieses Buchs enthält Anweisungen zum Herunterladen und Installieren. Öffnen Sie unter Windows das Startmenü, geben Sie Mu ein und starten Sie die Mu-App. Unter macOS öffnen Sie Ihren Applications-Ordner und doppelklicken auf Mu. Klicken Sie auf den Button Neu und speichern Sie eine leere Datei als blank.py. Wenn Sie diese leere Datei ausführen – entweder per Klick auf den Button Ausführen oder durch Drücken von F5 –, öffnet sich die interaktive Shell als neues Fenster unten im Mu-Editor. Sie sollten in der interaktiven Shell eine >>>-Eingabeaufforderung sehen.

Sie können die interaktive Shell auch über das Terminal (unter macOS und Linux) oder das Windows-Terminal (unter Windows; dort können Sie auch die ältere Eingabeaufforderung verwenden) starten. Öffnen Sie eines dieser Terminalfenster und geben Sie python (unter Windows) bzw. python3 (unter macOS und Linux) ein. Sie sehen dann ebenfalls die >>>-Eingabeaufforderung der interaktiven Shell. Wenn Sie ein Programm ausführen möchten, geben Sie python oder python3 gefolgt vom Namen der .py-Datei des Programms ein, zum Beispiel python blank.py. Achten Sie darauf, python nicht im Terminal von macOS auszuführen, da hierbei auf manchen Versionen von macOS möglicherweise die ältere, nicht mehr kompatible Python-2.7-Version gestartet wird. Sie sehen unter Umständen sogar eine Meldung wie WARNING: Python 2.7 is not recommended. Beenden Sie die interaktive Shell von 2.7 und verwenden Sie stattdessen python3.

Geben Sie an der Eingabeaufforderung 2 + 2 ein, um eine einfache Berechnung von Python durchführen zu lassen. Das Mu-Fenster sollte nun wie folgt aussehen:

>>> 2 + 2

4

>>>

In Python wird 2 + 2 als Ausdruck bezeichnet – das ist die grundlegendste Art von Programmieranweisung in der Sprache. Ausdrücke bestehen aus Werten (wie etwa 2) und Operatoren (wie etwa +) und lassen sich stets zu einem einzelnen Wert auswerten (d. h. darauf reduzieren). Das bedeutet: Sie können Ausdrücke überall im Python-Code verwenden, wo Sie auch einen Wert einsetzen könnten.

Im vorherigen Beispiel wird 2 + 2 zu einem einzelnen Wert, nämlich 4, ausgewertet. Auch ein einzelner Wert ohne Operatoren gilt als Ausdruck, er wird jedoch nur zu sich selbst ausgewertet, wie hier gezeigt:

>>> 2

2

Der Mu-Editor verfügt über eine REPL-Schaltfläche, die eine interaktive Shell mit einer Eingabeaufforderung wie In [1]: anzeigt. Auch der beliebte Jupyter-Notebook-Editor verwendet diese Art von interaktiver Shell. Sie können diese interaktive Shell genauso nutzen wie die normale interaktive Python-Shell mit der >>>-Eingabeaufforderung. REPLs gibt es nicht nur für Python, viele Programmiersprachen bieten ebenfalls REPLs an, sodass Sie mit ihrem Code experimentieren können.

Fehler sind in Ordnung!

Das Beste an Computern ist, dass sie exakt die Anweisungen ausführen, die Sie ihnen geben. Das ist aber auch ihre größte Schwäche. Computer können keinen gesunden Menschenverstand einsetzen, um zu erkennen, was Sie eigentlich vorhatten. Programme stürzen ab, wenn sie Code enthalten, den der Computer nicht versteht – dann zeigt Python eine Fehlermeldung an. Fehlermeldungen schaden Ihrem Computer jedoch nicht, also fürchten Sie sich nicht davor, Fehler zu machen. Ein Absturz bedeutet lediglich, dass das Programm unerwartet angehalten wurde.