Routineaufgaben mit Python automatisieren
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Al Sweigart. Routineaufgaben mit Python automatisieren
Routineaufgaben mit Python automatisieren
Inhalt
Der Autor
Der Fachgutachter
Danksagung
Einleitung
Für wen ist dieses Buch gedacht?
Programmierstil
Was ist Programmierung?
Was ist Python?
Programmierer müssen nicht viel Mathe können
Sie sind nie zu alt, um programmieren zu lernen
Programmierung ist kreativ
Der Aufbau dieses Buchs
Python herunterladen und installieren
Warnung
Mu herunterladen und installieren
Mu starten
Hinweis
IDLE starten
Die interaktive Shell
Drittanbietermodule installieren
Hilfe finden
Sinnvolle Fragen stellen
Zusammenfassung
1. Grundlagen von Python
Ausdrücke in die interaktive Shell eingeben
Fehler sind kein Beinbruch
Die Datentypen für ganze Zahlen, Fließkommazahlen und Strings
Stringverkettung und -wiederholung
Werte in Variablen speichern
Zuweisungsanweisungen
Variablennamen
Ihr erstes Programm
Analyse des Programms
Kommentare
Die Funktion print()
Hinweis
Die Funktion input()
Den Benutzernamen ausgeben
Die Funktion len()
Die Funktionen str(), int() und float()
Das Verhältnis zwischen Text und Zahlen
Zusammenfassung
Wiederholungsfragen
2. Flusssteuerung
Boolesche Werte
Vergleichsoperatoren
Der Unterschied zwischen den Operatoren == und =
Boolesche Operatoren
Binäre boolesche Operatoren
Der Operator not
Kombinierte Verwendung von booleschen und Vergleichsoperatoren
Elemente zur Flusssteuerung
Bedingungen
Codeblöcke
Programmausführung
Flusssteuerungsanweisungen
If-Anweisungen
Else-Anweisungen
Elif-Anweisungen
While-Schleifen
Break-Anweisungen
Continue-Anweisungen
Gefangen in einer Endlosschleife?
»Truthy«- und »Falsey«-Werte
For-Schleifen und die Funktion range()
Hinweis
Eine gleichwertige while-Schleife
Das Anfangs-, End- und Schrittargument für range()
Module importieren
Überschreiben Sie keine Modulnamen!
From-import-Anweisungen
Programme mit sys.exit() vorzeitig beenden
Ein kurzes Programm: Zahlen raten
Ein kurzes Programm: Stein, Schere, Papier
Zusammenfassung
Wiederholungsfragen
3. Funktionen
Def-Anweisungen mit Parametern
Terminologie
Rückgabewerte und die Anweisung return
Der Wert None
Schlüsselwortargumente und print()
Der Aufrufstack
Lokaler und globaler Gültigkeitsbereich
Lokale Variablen können im globalen Gültigkeitsbereich nicht verwendet werden
Lokale Gültigkeitsbereiche können keine Variablen aus anderen lokalen Gültigkeitsbereichen verwenden
Globale Variablen können von einem lokalen Gültigkeitsbereich aus gelesen werden
Lokale und globale Variablen mit demselben Namen
Die Anweisung global
Hinweis
Funktionen als »Blackbox«
Ausnahmebehandlung
Ein kurzes Programm: Zickzackmuster
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Die Collatz-Folge
Eingabevalidierung
4. Listen
Der Datentyp für Listen
Einzelne Elemente einer Liste mithilfe des Index abrufen
Negative Indizes
Teillisten mithilfe von Slices abrufen
Die Länge einer Liste mit len() abrufen
Werte in einer Liste mithilfe des Index ändern
Listenverkettung und -wiederholung
Elemente mit del aus einer Liste entfernen
Listen verwenden
Listen in for-Schleifen
Die Operatoren in und not in
Der Trick mit der Mehrfachzuweisung
Die Funktion enumerate() für Listen
Die Funktionen random.choice() und random.shuffle() für Listen
Erweiterte Zuweisungsoperatoren
Methoden
Elemente in einer Liste mit der Methode index() finden
Elemente mit den Methoden append() und insert() zu Listen hinzufügen
Elemente mit remove() aus Listen entfernen
Elemente in einer Liste mit sort() sortieren
Reihenfolge der Listeneinträge mit reverse() umkehren
Ausnahmen von den Einrückungsregeln in Python
Beispielprogramm: Magic 8 Ball mithilfe einer Liste
Sequenzielle Datentypen
Veränderbare und unveränderbare Datentypen
Der Datentyp für Tupel
Typen mit den Funktionen list() und tuple() umwandeln
Verweise
Identität und die Funktion id()
Verweise übergeben
Die Funktionen copy() und deepcopy() des Moduls copy
Ein kurzes Programm: Conways Spiel des Lebens
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Kommacode
Münzwurffolgen
Zeichenbildraster
5. Dictionaries und Datenstrukturen
Der Datentyp für Dictionaries
Dictionaries und Listen im Vergleich
»Geordnete« Dictionaries in Python 3.7
Die Methoden keys(), values() und items()
Das Vorhandensein eines Schlüssels oder Wertes im Dictionary ermitteln
Die Methode get()
Die Methode setdefault()
Saubere Ausgabe
Datenstrukturen zur Modellierung realer Objekte
Ein Tic-Tac-Toe-Brett
Hinweis
Verschachtelte Dictionaries und Listen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Validierer für Schach-Dictionary
Inventar für ein Fantasyspiel
Eine Funktion zum Hinzufügen von Listeninhalten zum Inventar-Dictionary
6. Stringbearbeitung
Umgang mit Strings
Stringliterale
Doppelte Anführungszeichen
Maskierungszeichen
Rohstrings
Mehrzeilige Strings mit dreifachen Anführungszeichen
Mehrzeilige Kommentare
Strings indizieren und Slices entnehmen
Die Operatoren in und not in für Strings
Strings in andere Strings einfügen
Nützliche Stringmethoden
Die Stringmethoden upper(), lower(), isupper() und islower()
Die isX-Stringmethoden
Die Stringmethoden startswith() und endswith()
Die Methoden join() und split()
Strings mit der Methode partition() aufteilen
Text mit rjust(), ljust() und center() ausrichten
Weißraum mit strip(), rstrip() und lstrip() entfernen
Die Funktionen ord() und chr() für numerische Zeichenwerte
Strings mit dem Modul pyperclip kopieren und einfügen
Python-Skripte außerhalb von Mu ausführen
Projekt: Automatisierte Nachrichten mithilfe einer Mehrfach-Zwischenablage
Die Projekte in den Kapiteln
Schritt 1: Programmdesign und Datenstrukturen
Schritt 2: Befehlszeilenargumente verarbeiten
Schritt 3: Die richtige Antwort kopieren
Projekt: Aufzählungspunkte zu einem Wiki-Markup hinzufügen
Schritt 1: Text von und zur Zwischenablage übertragen
Schritt 2: Textzeilen trennen und Sternchen hinzufügen
Schritt 3: Die veränderten Zeilen zusammenfügen
Ein kurzes Programm: Pig Latin
Zusammenfassung
Wiederholungsfragen
Übungsprojekt
Tabellenausgabe
Bots für Zombie Dice
7. Mustervergleich mit regulären Ausdrücken
Textmuster ohne reguläre Ausdrücke finden
Textmuster mithilfe regulärer Ausdrücke finden
Regex-Objekte erstellen
Hinweis
Vergleiche mit einem Regex-Objekt
Zusammenfassung: Mustervergleich mit regulären Ausdrücken
Hinweis
Weitere Möglichkeiten für den Mustervergleich mithilfe regulärer Ausdrücke
Gruppierung durch Klammern
Mithilfe der Pipe nach Übereinstimmungen mit mehreren Gruppen suchen
Hinweis
Optionale Übereinstimmung mit dem Fragezeichen
Mit dem Sternchen nach null oder mehr Übereinstimmungen suchen
Mit dem Pluszeichen nach einer oder mehr Übereinstimmungen suchen
Mit geschweiften Klammern nach einer genauen Zahl von Wiederholungen suchen
Gieriger und nicht gieriger Mustervergleich
Die Methode findall()
Zeichenklassen
Eigene Zeichenklassen bilden
Zirkumflex und Dollarzeichen
Das Jokerzeichen
Beliebige Übereinstimmungen mit Punkt-Stern finden
Zeilenumbrüche mit dem Punktsymbol finden
Übersicht über Regex-Symbole
Übereinstimmungen ohne Berücksichtigung der Groß- und Kleinschreibung
Strings mit der Methode sub() ersetzen
Umgang mit komplizierten regulären Ausdrücken
Die Variablen re.IGNORECASE, re.DOTALL und re.VERBOSE kombinieren
Projekt: Extraktionsprogramm für Telefonnummern und E-Mail-Adressen
Schritt 1: Einen regulären Ausdruck für Telefonnummern erstellen
Hinweis
Schritt 2: Einen regulären Ausdruck für E-Mail-Adressen erstellen
Schritt 3: Alle Überstimmungen im Inhalt der Zwischenablage finden
Schritt 4: Die gefundenen Übereinstimmungen zu einem String kombinieren
Das Programm ausführen
Ideen für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Datumserkennung
Passwortstärke ermitteln
Regex-Version von strip()
8. Eingabevalidierung
Das Modul PyInputPlus
Die Schlüsselwortargumente min, max, greaterThan und lessThan
Das Schlüsselwortargument blank
Die Schlüsselwortargumente limit, timeout und default
Die Schlüsselwortargumente allowRegexes und blockRegexes
Eine eigene Validierungsfunktion an inputCustom() übergeben
Projekt: Einen Trottel stundenlang beschäftigen
Projekt: Multiplikationstest
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Sandwichzubereiter
Ein eigenes Programm für den Multiplikationstest
9. Dateien lesen und schreiben
Dateien und Dateipfade
Hinweis
Backslash unter Windows und Schrägstrich unter macOS und Linux
Pfade mit dem Operator / zusammenfügen
Das aktuelle Arbeitsverzeichnis
Hinweis
Das Benutzerverzeichnis
Absolute und relative Pfade
Neue Ordner mit os.makedirs() erstellen
Absolute und relative Pfade verwenden
Die Komponenten eines Dateipfads abrufen
Dateigrößen und Ordnerinhalte ermitteln
Eine Dateiliste mit Glob-Mustern bearbeiten
Die Gültigkeit von Pfaden prüfen
Dateien lesen und schreiben
Dateien mit der Funktion open() öffnen
Die Inhalte einer Datei lesen
Dateien schreiben
Variablen mit dem Modul shelve speichern
Variablen mit der Funktion pprint.pformat() speichern
Projekt: Zufallsgenerator für Tests
Schritt 1: Die Daten für den Test in einem Dictionary speichern
Schritt 2: Die Fragebogendatei erstellen und die Fragen mischen
Schritt 3: Die Auswahl der möglichen Antworten zusammenstellen
Schritt 4: Den Inhalt der Dateien für die Frage- und Lösungsbogen schreiben
Projekt: Aktualisierbare Mehrfach-Zwischenablage
Schritt 1: Kommentare und Vorbereitungen für die Shelf-Daten
Schritt 2: Den Inhalt der Zwischenablage unter einem Schlüsselwort speichern
Schritt 3: Schlüsselwörter auflisten und Inhalte laden
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Erweiterte Mehrfach-Zwischenablage
Lückentextspiel
Regex-Suche
10. Dateien verwalten
Das Modul shutil
Dateien und Ordner kopieren
Dateien und Ordner verschieben und umbenennen
Dateien und Ordner unwiederbringlich löschen
Sicheres Löschen mit dem Modul send2trash
Einen Verzeichnisbaum durchlaufen
Dateien mit dem Modul zipfile komprimieren
ZIP-Dateien lesen
ZIP-Dateien entpacken
ZIP-Dateien erstellen und Inhalte hinzufügen
Projekt: Amerikanische Datumsangaben in Dateinamen in europäische Datumsangaben ändern
Schritt 1: Einen regulären Ausdruck für amerikanische Datumsangaben definieren
Schritt 2: Die einzelnen Teile der Datumsangabe in den Dateinamen ermitteln
Schritt 3: Die neuen Dateinamen zusammenstellen und die Dateien umbenennen
Vorschläge für ähnliche Programme
Projekt: Einen Ordner in einer ZIP-Datei sichern
Schritt 1: Den Namen der ZIP-Datei bestimmen
Schritt 2: Die neue ZIP-Datei erstellen
Schritt 3: Den Verzeichnisbaum durchlaufen und Inhalte zur ZIP-Datei hinzufügen
Vorschläge für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Selektives Kopieren
Nicht mehr benötigte Dateien löschen
Lücken entfernen
11. Debugging
Ausnahmen auslösen
Traceback als String abrufen
Zusicherungen (Assertions)
Zusicherungen in einem Ampelsimulator
Protokollierung
Das Modul logging verwenden
Kein Debugging mit print()
Protokolliergrade
Die Protokollierung deaktivieren
Protokollierung in eine Datei
Der Debugger von Mu
Continue
Step In
Step Over
Step Out
Stop
Debugging eines Additionsprogramms
Haltepunkte
Zusammenfassung
Wiederholungsfragen
Übungsprojekt
Münzwurfprogramm
12. Web Scraping
Projekt: mapIt.py mit dem Modul webbrowser
Schritt 1: Die URL herausfinden
Schritt 2: Befehlszeilenargumente verarbeiten
Schritt 3: Den Inhalt der Zwischenablage verarbeiten und den Browser starten
Vorschläge für ähnliche Programme
Dateien mithilfe des Moduls requests aus dem Web herunterladen
Eine Webseite mit der Funktion requests.get() herunterladen
Auf Fehler prüfen
Heruntergeladene Dateien auf der Festplatte speichern
Unicode-Codierung
HTML
Quellen zu HTML
Ein kleiner Auffrischungskurs
Den HTML-Quellcode einer Webseite einsehen
Die Entwicklertools des Browsers öffnen
Keine regulären Ausdrücke zur Suche in HTML
HTML-Elemente mithilfe der Entwicklertools finden
HTML mit dem Modul bs4 durchsuchen
Ein BeautifulSoup-Objekt aus dem HTML-Text erstellen
Elemente mit der Methode select() finden
Daten aus den Attributen eines Elements abrufen
Projekt: Alle Suchergebnisse öffnen
Schritt 1: Die Befehlszeilenargumente abrufen und die Suchergebnisseite anfordern
Schritt 2: Alle Ergebnisse finden
Schritt 3: Browsertabs für jedes Suchergebnis öffnen
Vorschläge für ähnliche Programme
Projekt: Alle XKCD-Comics herunterladen
Schritt 1: Den Aufbau des Programms festlegen
Schritt 2: Die Webseite herunterladen
Schritt 3: Das Bild des Comics finden und herunterladen
Schritt 4: Das Bild speichern und den vorherigen Comic suchen
Vorschläge für ähnliche Programme
Den Browser mit dem Modul selenium steuern
Einen seleniumgesteuerten Browser starten
Elemente auf der Seite finden
Auf Elemente klicken
Formulare ausfüllen und absenden
Warnung
Die Betätigung von Sondertasten simulieren
Auf Browserschaltflächen klicken
Weitere Informationen über Selenium
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
E-Mail-Programm für die Befehlszeile
Downloadprogramm für Fotowebsites
2048
Linküberprüfung
13. Excel-Arbeitsblätter
Excel-Dokumente
Das Modul openpyxl installieren
Excel-Dokumente lesen
Excel-Dokumente mit OpenPyXL öffnen
Arbeitsblätter aus der Arbeitsmappe abrufen
Zellen eines Arbeitsblatts abrufen
Umrechnen zwischen Kennbuchstaben und Nummern
Zeilen und Spalten eines Arbeitsblatts abrufen
Arbeitsmappen, Arbeitsblätter und Zellen
Projekt: Daten in einer Arbeitsmappe lesen
Schritt 1: Die Daten der Arbeitsmappe lesen
Schritt 2: Die Datenstruktur füllen
Schritt 3: Die Ergebnisse in eine Datei schreiben
Vorschläge für ähnliche Programme
Excel-Dokumente schreiben
Excel-Dokumente erstellen und speichern
Arbeitsblätter erstellen und entfernen
Werte in Zellen schreiben
Projekt: Ein Arbeitsblatt aktualisieren
Schritt 1: Eine Datenstruktur mit den neuen Informationen einrichten
Schritt 2: Alle Zeilen prüfen und die falschen Preise korrigieren
Vorschläge für ähnliche Programme
Die Schrift in den Zellen gestalten
Font-Objekte
Formeln
Das Erscheinungsbild von Zeilen und Spalten festlegen
Zeilenhöhe und Spaltenbreite festlegen
Zellen verbinden und aufteilen
Bereiche fixieren
Diagramme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Multiplikationstabellen erstellen
Leere Zeilen einfügen
Zellen transponieren
Textdateien in Arbeitsblätter umwandeln
Arbeitsblätter in Textdateien umwandeln
14. Google Tabellen
EZSheets installieren und einrichten
Anmeldeinformationen und Tokendateien beziehen
Die Datei mit den Anmeldeinformationen widerrufen
Spreadsheet-Objekte
Tabellen erstellen, hochladen und auflisten
Hinweis
Tabellenattribute
Tabellen hoch- und herunterladen
Tabellen löschen
Sheet-Objekte
Daten lesen und schreiben
Spalten- und Zeilenadressierung
Ganze Spalten und Zeilen lesen und schreiben
Tabellenblätter erstellen und löschen
Tabellenblätter kopieren
Grenzwerte für Google Tabellen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Daten von Google Formulare herunterladen
Tabellen in andere Formate umwandeln
Fehler in einer Tabelle finden
15. PDF- und Word-Dokumente
PDF-Dokumente
PDF – ein problematisches Format
Text aus PDFs entnehmen
PDFs entschlüsseln
Hinweis
PDFs erstellen
Seiten kopieren
Hinweis
Seiten drehen
Seiten überlagern
PDFs verschlüsseln
Projekt: Ausgewählte Seiten aus mehreren PDFs kombinieren
Schritt 1: Alle PDF-Dateien finden
Schritt 2: Die einzelnen PDFs öffnen
Schritt 3: Die einzelnen Seiten hinzufügen
Schritt 4: Die Ergebnisse speichern
Vorschläge für ähnliche Programme
Word-Dokumente
Hinweis
Word-Dokumente lesen
Den kompletten Text einer .docx-Datei abrufen
Absätze und Run-Objekte formatieren
Word-Dokumente mit anderen als den Standardformaten erstellen
Run-Attribute
Word-Dokumente schreiben
Überschriften hinzufügen
Zeilenwechsel und Seitenumbrüche hinzufügen
Bilder einfügen
PDF-Dateien aus Word-Dokumenten erstellen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
PDF-Paranoia
Personalisierte Einladungen als Word-Dokument
Brute-Force-Passwortknacker für PDFs
16. CSV-Dateien und JSON-Daten
Das Modul csv
Reader-Objekte
Daten in einer for-Schleife aus reader-Objekten lesen
Writer-Objekte
Die Schlüsselwortargumente delimiter und lineterminator
DictReader- und DictWriter-Objekte
Projekt: Kopfzeilen aus CSV-Dateien entfernen
Warnung
Schritt 1: Alle CSV-Dateien durchlaufen
Schritt 2: Die CSV-Datei lesen
Schritt 3: Die CSV-Datei ohne die erste Zeile schreiben
Vorschläge für ähnliche Programme
JSON und APIs
Das Modul json
JSON-Daten mit der Funktion loads() laden
JSON-Daten mit der Funktion dumps() schreiben
Projekt: Die aktuellen Wetterdaten abrufen
Schritt 1: Den Standort aus dem Befehlszeilenargument entnehmen
Schritt 2: Die JSON-Daten herunterladen
Schritt 3: JSON-Daten laden und die Wettervorhersage ausgeben
Vorschläge für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekt
Excel-in-CSV-Konverter
17. Zeit und Aufgabenplanung
Das Modul time
Die Funktion time.time()
Hinweis
Die Funktion time.sleep()
Zahlen runden
Projekt: Superstoppuhr
Schritt 1: Das Programm auf die Zeitmessung vorbereiten
Schritt 2: Intervalldauern messen und anzeigen
Vorschläge für ähnliche Programme
Das Modul datetime
Der Datentyp timedelta
Anhalten bis zu einem bestimmten Zeitpunkt
datetime-Objekte in Strings umwandeln
Strings in datetime-Objekte umwandeln
Die Zeitfunktionen von Python im Überblick
Multithreading
Argumente an die Zielfunktion eines Threads übergeben
Probleme der Nebenläufigkeit
Hinweis
Projekt: Multithread-Version des XKCD-Downloadprogramms
Schritt 1: Eine Funktion für den Download verwenden
Schritt 2: Threads erstellen und starten
Schritt 3: Auf das Ende aller Threads warten
Andere Programme von Python aus starten
Hinweis
Befehlszeilenargumente an Popen() übergeben
Taskplaner, launchd und cron
Websites mit Python aufrufen
Andere Python-Skripte ausführen
Dateien in ihren Standardanwendungen öffnen
Projekt: Ein einfaches Countdown-Programm
Schritt 1: Der Countdown
Schritt 2: Die Klangdatei abspielen
Vorschläge für ähnliche Programme
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Elegantere Stoppuhr
Webcomic-Downloadprogramm mit Zeitplanung
18. E-Mails und Textnachrichten
Warnung
E-Mails mit der Gmail-API senden und empfangen
Die Gmail-API aktivieren
E-Mails von einem Gmail-Konto senden
E-Mails in einem Gmail-Konto lesen
E-Mails in einem Gmail-Konto suchen
Anhänge von einem Gmail-Konto herunterladen
SMTP
E-Mails senden
Hinweis
Verbindung mit einem SMTP-Server aufnehmen
Hinweis
Die »Hallo«-Nachricht an den SMTP-Server senden
Die TLS-Verschlüsselung einleiten
Am SMTP-Server anmelden
Warnung
Eine E-Mail senden
Die Verbindung zum SMTP-Server trennen
IMAP
E-Mails mit IMAP abrufen und löschen
Verbindung mit einem IMAP-Server aufnehmen
Am IMAP-Server anmelden
Warnung
Nach E-Mails suchen
Einen Ordner auswählen
Die Suche durchführen
Größeneinschränkungen
E-Mails abrufen und als gelesen markieren
E-Mail-Adressen aus einer Rohnachricht gewinnen
Den Rumpf aus einer Rohnachricht gewinnen
E-Mails löschen
Die Verbindung zum IMAP-Server trennen
Projekt: E-Mails über ausstehende Mitgliedsbeiträge senden
Schritt 1: Die Excel-Datei öffnen
Schritt 2: Alle säumigen Mitglieder finden
Schritt 3: Personalisierte E-Mail-Mahnungen senden
Textnachrichten über SMS-E-Mail-Gateways senden
Textnachrichten mit Twilio senden
Hinweis
Ein Twilio-Konto einrichten
Textnachrichten senden
Textnachrichten mit Python empfangen
Projekt: Das Modul »Just Text Me«
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Zufällige Zuweisung von Arbeiten
Regenschirmhinweis
Automatischer Entregistrierer
Den Computer per E-Mail steuern
19. Bildbearbeitung
Grundlagen zur Bilddarstellung auf Computern
Farben und RGBA-Werte
Koordinaten und Rechtecktupel
Bildbearbeitung mit Pillow
Mit dem Datentyp Image arbeiten
Bilder beschneiden
Bilder kopieren und in andere Bilder einfügen
Hinweis
Die Bildgröße ändern
Bilder drehen und spiegeln
Einzelne Pixel ändern
Projekt: Ein Logo hinzufügen
Schritt 1: Das Logobild öffnen
Schritt 2: Alle Dateien durchlaufen und die Bilder öffnen
Schritt 3: Die Bildgröße ändern
Schritt 4: Logo hinzufügen und Änderungen speichern
Vorschläge für ähnliche Programme
Bilder zeichnen
Formen zeichnen
Punkte
Linien
Rechtecke
Ellipsen
Polygone
Ein Zeichenbeispiel
Text zeichnen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Das Logoprogramm erweitern und verbessern
Fotoordner auf der Festplatte finden
Personalisierte Tischkarten
20. GUI-Automatisierung
Das Modul PyAutoGUI installieren
Warnung
Zugriff auf macOS erlauben
Kleine Probleme beheben
Die PyAutoGUI-Notfallsicherung
Beenden durch Abmelden
Den Mauszeiger steuern
Den Mauszeiger bewegen
Die Position des Mauszeigers abrufen
Mausinteraktionen
Klicken
Ziehen
Hinweis
Scrollen
Mausbewegungen planen
Auf dem Bildschirm arbeiten
Einen Screenshot aufnehmen
Einen Screenshot analysieren
Bilderkennung
Informationen über das Fenster abrufen
Hinweis
Das aktive Fenster abrufen
Andere Möglichkeiten zum Abrufen von Fenstern
Fenster bearbeiten
Die Tastatur steuern
Strings von der Tastatur senden
Tastennamen
Tasten drücken und loslassen
Tastenkombinationen
GUI-Automatisierungsskripte einrichten
Übersicht über die Funktionen von PyAutoGUI
Captchas und ethisches Verhalten
Projekt: Formulare automatisch ausfüllen
Schritt 1: Den Ablauf herausfinden
Schritt 2: Die Koordinaten ermitteln
Schritt 3: Daten eingeben
Schritt 4: Auswahllisten und Optionsschalter
Schritt 5: Das Formular absenden und warten
Dialogfelder anzeigen
Zusammenfassung
Wiederholungsfragen
Übungsprojekte
Beschäftigung vortäuschen
Textfelder über Zwischenablage lesen
Instant-Messenger-Bot
Hinweis
Tutorial für einen Spiele-Bot
A. Drittanbietermodule installieren
Pip
Drittanbietermodule installieren
Hinweis
Warnung
Module für Mu installieren
B. Programme ausführen
Programme im Terminalfenster ausführen
Python-Programme unter Windows ausführen
Python-Programme unter macOS ausführen
Programme unter Ubuntu Linux ausführen
Python-Programme mit ausgeschalteten Zusicherungen ausführen
C. Antworten auf die Wiederholungsfragen
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
Fußnoten. 7: Mustervergleich mit regulären Ausdrücken
12: Web Scraping
18: E-Mails und Textnachrichten
Stichwortverzeichnis. Symbole
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Отрывок из книги
Al Sweigart
Praktische Programmierlösungen für Einsteiger
.....
Projekt: Alle Suchergebnisse öffnen
Schritt 1: Die Befehlszeilenargumente abrufen und die Suchergebnisseite anfordern
.....