Читать книгу Routineaufgaben mit Python automatisieren - Al Sweigart - Страница 5
Inhalt
ОглавлениеFür wen ist dieses Buch gedacht?
Programmierer müssen nicht viel Mathe können
Sie sind nie zu alt, um programmieren zu lernen
Python herunterladen und installieren
Mu herunterladen und installieren
Drittanbietermodule installieren
Teil 1Grundlagen der Python-Programmierung
Ausdrücke in die interaktive Shell eingeben
Die Datentypen für ganze Zahlen, Fließkommazahlen und Strings
Stringverkettung und -wiederholung
Die Funktionen str(), int() und float()
Kombinierte Verwendung von booleschen und Vergleichsoperatoren
For-Schleifen und die Funktion range()
Programme mit sys.exit() vorzeitig beenden
Ein kurzes Programm: Zahlen raten
Ein kurzes Programm: Stein, Schere, Papier
Def-Anweisungen mit Parametern
Rückgabewerte und die Anweisung return
Schlüsselwortargumente und print()
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
Ein kurzes Programm: Zickzackmuster
Einzelne Elemente einer Liste mithilfe des Index abrufen
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
Der Trick mit der Mehrfachzuweisung
Die Funktion enumerate() für Listen
Die Funktionen random.choice() und random.shuffle() für Listen
Erweiterte Zuweisungsoperatoren
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
Beispielprogramm: Magic 8 Ball mithilfe einer Liste
Veränderbare und unveränderbare Datentypen
Typen mit den Funktionen list() und tuple() umwandeln
Identität und die Funktion id()
Die Funktionen copy() und deepcopy() des Moduls copy
Ein kurzes Programm: Conways Spiel des Lebens
5Dictionaries und Datenstrukturen
Dictionaries und Listen im Vergleich
Die Methoden keys(), values() und items()
Das Vorhandensein eines Schlüssels oder Wertes im Dictionary ermitteln
Datenstrukturen zur Modellierung realer Objekte
Verschachtelte Dictionaries und Listen
Validierer für Schach-Dictionary
Eine Funktion zum Hinzufügen von Listeninhalten zum Inventar-Dictionary
Strings indizieren und Slices entnehmen
Die Operatoren in und not in für Strings
Strings in andere Strings einfügen
Die Stringmethoden upper(), lower(), isupper() und islower()
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
Projekt: Automatisierte Nachrichten mithilfe einer Mehrfach-Zwischenablage
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
7Mustervergleich mit regulären Ausdrücken
Textmuster ohne reguläre Ausdrücke finden
Textmuster mithilfe regulärer Ausdrücke finden
Vergleiche mit einem Regex-Objekt
Zusammenfassung: Mustervergleich mit regulären Ausdrücken
Weitere Möglichkeiten für den Mustervergleich mithilfe regulärer Ausdrücke
Mithilfe der Pipe nach Übereinstimmungen mit mehreren Gruppen suchen
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
Beliebige Übereinstimmungen mit Punkt-Stern finden
Zeilenumbrüche mit dem Punktsymbol finden
Ü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
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
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
Ein eigenes Programm für den Multiplikationstest
Backslash unter Windows und Schrägstrich unter macOS und Linux
Pfade mit dem Operator / zusammenfügen
Das aktuelle Arbeitsverzeichnis
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 mit der Funktion open() öffnen
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
Erweiterte Mehrfach-Zwischenablage
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 erstellen und Inhalte hinzufügen
Projekt: Amerikanische Datumsangaben in Dateinamen in europäische Datumsangaben ändern
Projekt: Amerikanische Datumsangaben in Dateinamen in …
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
Nicht mehr benötigte Dateien löschen
Zusicherungen in einem Ampelsimulator
Die Protokollierung deaktivieren
Debugging eines Additionsprogramms
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
Heruntergeladene Dateien auf der Festplatte speichern
Den HTML-Quellcode einer Webseite einsehen
Die Entwicklertools des Browsers öffnen
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
Formulare ausfüllen und absenden
Die Betätigung von Sondertasten simulieren
Auf Browserschaltflächen klicken
Weitere Informationen über Selenium
E-Mail-Programm für die Befehlszeile
Downloadprogramm für Fotowebsites
Das Modul openpyxl installieren
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 erstellen und speichern
Arbeitsblätter erstellen und entfernen
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
Das Erscheinungsbild von Zeilen und Spalten festlegen
Zeilenhöhe und Spaltenbreite festlegen
Zellen verbinden und aufteilen
Multiplikationstabellen erstellen
Textdateien in Arbeitsblätter umwandeln
Arbeitsblätter in Textdateien umwandeln
EZSheets installieren und einrichten
Anmeldeinformationen und Tokendateien beziehen
Die Datei mit den Anmeldeinformationen widerrufen
Tabellen erstellen, hochladen und auflisten
Tabellen hoch- und herunterladen
Tabellenblätter erstellen und löschen
Grenzwerte für Google Tabellen
Daten von Google Formulare herunterladen
Tabellen in andere Formate umwandeln
Fehler in einer Tabelle finden
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
Den kompletten Text einer .docx-Datei abrufen
Absätze und Run-Objekte formatieren
Word-Dokumente mit anderen als den Standardformaten erstellen
Zeilenwechsel und Seitenumbrüche hinzufügen
PDF-Dateien aus Word-Dokumenten erstellen
Personalisierte Einladungen als Word-Dokument
Brute-Force-Passwortknacker für PDFs
Daten in einer for-Schleife aus reader-Objekten lesen
Die Schlüsselwortargumente delimiter und lineterminator
DictReader- und DictWriter-Objekte
Projekt: Kopfzeilen aus CSV-Dateien entfernen
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-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
Schritt 1: Das Programm auf die Zeitmessung vorbereiten
Schritt 2: Intervalldauern messen und anzeigen
Vorschläge für ähnliche Programme
Anhalten bis zu einem bestimmten Zeitpunkt
datetime-Objekte in Strings umwandeln
Strings in datetime-Objekte umwandeln
Die Zeitfunktionen von Python im Überblick
Argumente an die Zielfunktion eines Threads übergeben
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
Befehlszeilenargumente an Popen() übergeben
Andere Python-Skripte ausführen
Dateien in ihren Standardanwendungen öffnen
Projekt: Ein einfaches Countdown-Programm
Schritt 2: Die Klangdatei abspielen
Vorschläge für ähnliche Programme
Webcomic-Downloadprogramm mit Zeitplanung
E-Mails mit der Gmail-API senden und empfangen
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
Verbindung mit einem SMTP-Server aufnehmen
Die »Hallo«-Nachricht an den SMTP-Server senden
Die TLS-Verschlüsselung einleiten
Die Verbindung zum SMTP-Server trennen
E-Mails mit IMAP abrufen und löschen
Verbindung mit einem IMAP-Server aufnehmen
E-Mails abrufen und als gelesen markieren
E-Mail-Adressen aus einer Rohnachricht gewinnen
Den Rumpf aus einer Rohnachricht gewinnen
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
Projekt: Das Modul »Just Text Me«
Zufällige Zuweisung von Arbeiten
Den Computer per E-Mail steuern
Grundlagen zur Bilddarstellung auf Computern
Mit dem Datentyp Image arbeiten
Bilder kopieren und in andere Bilder einfü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
Das Logoprogramm erweitern und verbessern
Fotoordner auf der Festplatte finden
Das Modul PyAutoGUI installieren
Die PyAutoGUI-Notfallsicherung
Die Position des Mauszeigers abrufen
Informationen über das Fenster abrufen
Andere Möglichkeiten zum Abrufen von Fenstern
Strings von der Tastatur senden
GUI-Automatisierungsskripte einrichten
Übersicht über die Funktionen von PyAutoGUI
Projekt: Formulare automatisch ausfüllen
Schritt 1: Den Ablauf herausfinden
Schritt 2: Die Koordinaten ermitteln
Schritt 4: Auswahllisten und Optionsschalter
Schritt 5: Das Formular absenden und warten
Textfelder über Zwischenablage lesen
A Drittanbietermodule installieren
Drittanbietermodule installieren
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