Routineaufgaben mit Python automatisieren: praktische Programmierlösungen für Einsteiger
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German English |
Veröffentlicht: |
Heidelberg
dpunkt.verlag
2017
|
Ausgabe: | 1. Auflage 2016, 1., korrigierter Nachdruck |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xxv, 550 Seiten Illustrationen, Diagramme |
ISBN: | 9783864903533 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV044218976 | ||
003 | DE-604 | ||
005 | 20191018 | ||
007 | t | ||
008 | 170310s2017 gw a||| |||| 00||| ger d | ||
020 | |a 9783864903533 |9 978-3-86490-353-3 | ||
035 | |a (OCoLC)978276595 | ||
035 | |a (DE-599)BVBBV044218976 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 1 | |a ger |h eng | |
044 | |a gw |c XA-DE-BW | ||
049 | |a DE-83 |a DE-M347 |a DE-29T |a DE-91G |a DE-355 |a DE-703 |a DE-739 |a DE-11 |a DE-473 | ||
082 | 0 | |a 004 |2 23 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 366f |2 stub | ||
100 | 1 | |a Sweigart, Al |e Verfasser |0 (DE-588)1067771913 |4 aut | |
240 | 1 | 0 | |a Automate the boring stuff with Python |
245 | 1 | 0 | |a Routineaufgaben mit Python automatisieren |b praktische Programmierlösungen für Einsteiger |c Al Sweigart |
250 | |a 1. Auflage 2016, 1., korrigierter Nachdruck | ||
264 | 1 | |a Heidelberg |b dpunkt.verlag |c 2017 | |
300 | |a xxv, 550 Seiten |b Illustrationen, Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Python 3.0 |0 (DE-588)7624871-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |2 gnd |9 rswk-swf |
653 | |a Einsteiger in die Programmierung - Schüler | ||
653 | |a Aufgaben | ||
653 | |a Python | ||
653 | |a Schritt für Schritt | ||
689 | 0 | 0 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Python 3.0 |0 (DE-588)7624871-9 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
710 | 2 | |a Dpunkt.Verlag (Heidelberg) |0 (DE-588)6085529-0 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |z 978-3-86491-992-3 |n Online-Ausgabe, PDF |
776 | 0 | 8 | |i Erscheint auch als |z 978-3-86491-993-0 |n Online-Ausgabe, ePub |
776 | 0 | 8 | |i Erscheint auch als |z 978-3-86491-994-7 |n Online-Ausgabe, mobi |
856 | 4 | 2 | |m Digitalisierung UB Passau - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029625005&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-029625005 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804177365560983552 |
---|---|
adam_text | Inhalt
Der Autor
xxiv
Die Fachgutachterin ............................................. xxiv
Danksagung ................................................. xxv
Einleitung......................................................... 1
Für wen ist dieses Buch gedacht?................................ 2
Programmierstil.................................................. .3
Was ist Programmierung? .......................................... 3
Was ist Python?............................................. 4
Programmierer müssen nicht viel Mathe können ............. 4
Programmierung ist kreativ ........... . . ......... . . ......... 5
Der Aufbau dieses Buchs.......................................... 6
Python herunterladen und installieren................... ... ...... 8
IDLE starten............................................. . . . . . ... .9
Die interaktive Shell ....................... . ... ............ 9
Hilfe finden.............................................. . .... . 10
Geschickte Fragen stellen ........................... ...... . 11
Zusammenfassung................... . ............ . . . ..... 12
Teil 1 . Grundlagen^ der Python-Programmierung _ 13
1 Grundlagen von Python..................................... 15
Ausdrücke in die interaktive Shell eingeben........ . ..... . 16
Die Datentypen für ganze Zahlen, Fließkommazahlen und Strings . . ... . . . 19
vi Inhalt
Stringverkettung und -Wiederholung...................................20
Werte in Variablen speichern.........................................21
Zuweisungsanweisungen ........................................ 21
Variablennamen .................................................23
Ihr erstes Programm .................................................24
Analyse des Programms................................................26
Kommentare......................................................26
Die Funktion print() ...........................................26
Die Funktion input()............................................27
Den Benutzernamen ausgeben......................................27
Die Funktion len()..............................................28
Die Funktionen str(), int() und floatQ .........................29
Zusammenfassung......................................................32
Wiederholungsfragen .................................................33
2 Flusssteuerung.................................................. 35
Boolesche Werte v. . . .....; . . . . . ............................36
Vergleichsoperatoren.................................................37
Boolesche Operatoren.................................................39
Binäre boolesche Operatoren ....................................39
Der Operator not ...............................................40
Kombinierte Verwendung von booleschen und Vergleichsoperatoren.......41
Elemente zur Flusssteuerung..........................................42
Bedingungen.....................................................42
Codeblöcke.....................................................42
Programmausführung.................................................. 43
Flusssteuerungsanweisungen.......................................... 43
If-Anweisungen..................................................43
Else-Anweisungen............................................... 44
Elif-AnWeisungen ...............................................45
While-Schleifen.................................................51
Break-Anweisungen ..............................................56
Continue-Anweisungen ........................................ 57
For-Schleifen und die Funktion range()..........................61
Module importieren ............................................. 65
From-import-AnWeisungen ....................................... 66
Programme mit sys.exitQ vorzeitig beenden .......................... 66
Zusammenfassung.................................................... 67
Wiederholungsfragen .................................................67
Inhalt vii
3 Funktionen...........................................................69
Def-An Weisungen mit Parametern . . . . ..............................71
Rückgabewerte und die Anweisung return ............................... 72
Der Wert None ..........................................................73
Schlüsselwortargumente und printQ ......................................74
Lokaler und globaler Gültigkeitsbereich.................................75
Lokale Variablen können im globalen Gültigkeitsbereich nicht
verwendet werden...................................................76
Lokale Gültigkeitsbereiche können keine Variablen aus anderen
lokalen Gültigkeitsbereichen verwenden.............................77
Globale Variablen können von einem lokalen Gültigkeitsbereich
aus gelesen werden................................................ 78
Lokale und globale Variablen mit demselben Namen................. . 78
Die Anweisung global................................................ . . . 79
Ausnahmebehandlung................................................... 82
Ein kurzes Programm: Zahlen raten . . . ...................... ... . . ... 84
Zusammenfassung....................................................... 86
Wiederholungsfragen ............................................... 87
Übungsprojekte...................................................; .... 87
Die Collatz-Folge .................................................87
Eingabevalidierung............. I.............................. .’. 88
* i
4 Listen............................................................ 89
Der Datentyp für Listen ............................................ 89
Einzelne Elemente aus einer Liste mithilfe des Index abrufen ......90
Negative Indizes.................................................. 92
Teillisten mit Slices abrufen..................................... 92
Die Länge einer Liste mit len() abrufen............................93
Werte in einer Liste anhand des Index ändern.......................93
Listenverkettung und -Wiederholung............................... 94
Elemente mit del aus einer Liste entfernen..................... 94
Listen verwenden .................................... . ..............94
For-Loops für Listen...............................................96
Die Operatoren in und not in.......................................97
Der Trick mit der Mehrfachzuweisung............................ 98
Erweiterte Zuweisungsoperatoren....................................... 99
viii Inhalt
Methoden.......................................................... 100
Elemente in einer Liste mit der Methode index() finden .........100
Elemente mit den Methoden append() und insertQ zu Listen
hinzufügen ......................................................101
Elemente mit removeQ aus Listen entfernen . . ...................102
Elemente in einer Liste mit sort() sortieren ....................103
Beispielprogramm: Magic 8 Ball unter Verwendung einer Liste..........104
Listenähnliche Typen: Strings und Tupel..............................106
Veränderbare und unveränderbare Datentypen.......................106
Der Datentyp für Tupel...........................................109
Typen mit den Funktionen list() und tuple() umwandeln . . .......110
Verweise.......................................................... 110
Verweise übergeben........ .....................................113
Die Funktionen copy() und deepcopyQ des Moduls copy..............113
Zusammenfassung . . .................................................114
Wiederholungsfragen ............................................. 115
Übungsprojekte ..................................................... 116
Kommacode...................................................... 116
Zeichenbildraster ...............................................116
5 Dktionarys und Datenstrukturen ................................. 119
Der Datentyp für Dictionarys.........................................119
. Dictionarys und Listen im Vergleich............................120
Die Methoden keys(), values() und items() .......................122
Das Vorhandensein eines Schlüssels oder Werts im Dictionary
ermitteln........................................................123
Die Methode get().............................................. 123
Die Methode setdefault().........................................124
Saubere Ausgabe..................................................... 125
Datenstrukturen zur Modellierung realer Objekte......................127
Ein Tic-Tac-Toe-Brett . . . ................................... 128
Verschachtelte Dictionarys und Listen............................133
Zusammenfassung......................................................135
Wiederholungsfragen ....................................’...........135
Übungsprojekte . . . ............................................... 135
Inventar für ein Fantasyspiel....................................135
Eine Funktion zum Hinzufügen von Listeninhalten zum
Inventar-Dictionary..............................................136
Inhalt ix
6 Stringbearbeitung............................................. 139
Umgang mit Strings......................................... . • 139
Stringliterale............................ . ......... .... . . . 140
Strings indizieren und Slices entnehmen .......................143
Die Operatoren in und not in für Strings....................... 144
Nützliche Stringmethoden.................. . . . ........... 144
Die Stringmethoden upperQ, lowerQ, isupperQ und islowerQ ..... .... 144
Die isX-Stringmethoden ................................. . ....146
Die Stringmethoden startswith() und endswith()............... 148
Die Methoden join() und split()............................. 149
Text mit rjust(), ljust() und center() ausrichten ............... 150
Weißraum mit stripQ, rstripO und lstripQ entfernen ............152
Strings mit dem Modul pyperclip kopieren und einfügen .......... 152
Projekt:! Passwortsafe . .......................................... 153
Schritt 1: Programmdesign und Datenstrukturen ................... 154
Schritt 2: Befehlszeilenargumente verarbeiten . ................. 154
Schritt 3: Das richtige Passwort kopieren ............. 155
¡Projekt: Aufzählungspunkte zu einem Wiki-Markup hinzufügen ........ 156
Schritt 1: Text von und zur Zwischenablage übertragen .... ....... 157
Schritt 2: Textzeilen trennen und Sternchen hinzufügen . ... . . . . . . ... 158
Schritt 3: Die veränderten Zeilen zusammenfügen . ..... . . . . . . . 159
Zusammenfassung......................................... ... . . . . : . . 159
Wiederholungsfragen . .............................................. 160
Übungsprojekt......................... . ................. 161
Tabellenausgabe ............................................. 161
Teil 2 Aufgaben automatisieren ___________ _ ___ J 163
7 Mustervergleich mit regulären Ausdrücken .......... 165
Textmuster ohne reguläre Ausdrücke finden .... . . . . . .... . . ... . . . . . . . . 166
Textmuster mithilfe regulärer Ausdrücke finden ..................... 168
Regex-Objekte erstellen ..................................... 169
Vergleiche mit einem Regex-Objekt...... ¿ . . ....... ... . . . . 170
Zusammenfassung: Mustervergleich mit regulären »Ausdrücken . . . 3. 171
X
Inhalt
Weitere Möglichkeiten für den Mustervergleich mithilfe
regulärer Ausdrücke ...............................................171
Gruppierung durch Klammern ...................................171
Mithilfe der Pipe nach Übereinstimmungen mit mehreren
Gruppen suchen ...............................................173
Optionale Übereinstimmung mit dem Fragezeichen ...............174
i
Mit dem Sternchen nach null oder mehr Übereinstimmungen
suchen ..........s. ................... ......................174
Mit dem Pluszeichen nach einer oder mehr Übereinstimmungen
suchen...................................................... 175
Mit geschweiften Klammern nach einer genauen Zahl von
Wiederholungen suchen ........................................176
Gieriger und nicht gieriger Mustervergleich........................177
Die Methode findallQ .............. . . ..........................177
Zeichenklassen ....................................................178
Eigene Zeichenklassen bilden ................................... 179
Zirkumflex und Dollarzeichen .................................... 180
Das Jokerzeichen................................................. 181
Beliebige Übereinstimmungen mit Punkt-Stern finden............181
Zeilenumbrüche mit dem Punktsymbol finden ....................182
Übersicht über Regex-Symbole.......................................183
Übereinstimmungen ohne Berücksichtigung der Groß- und
Kleinschreibung v................................................. 183
Strings mit der Methode sub() ersetzen.............................184
Umgang mit komplizierten regulären Ausdrücken......................185
Die Variablen re.IGNORECASE, re.DOTALL und re.VERBOSE
kombinieren .....................................................186
iPfoiektl Extraktionsprogramm für Telefonnummern und
E-Mail-Adressen....................................................186
Schritt 1: Einen regulären Ausdruck für Telefonnummern erstellen ... 187
Schritt 2: Einen regulären Ausdruck für E-Mail-Adressen erstellen ... 188
Schritt 3: Alle Überstimmungen im Inhalt der Zwischenablage finden . . 189
Schritt 4: Die gefundenen Übereinstimmungen zu einem String
kombinieren ..................................................190
Das Programm ausführen............................-..........191
Ideen für ähnliche Programme ............................... 191
Zusammenfassung . . . .............................................192
Wiederholungsfragen ...............................................192
Inhalt xi
Übungsprojekte........................................... .......... .•.-194
Passwortstärke ermitteln.................................... 194
Regex-Version von Strip ().................................. .... 194
8 Dateien lesen ünd schreiben.................................... 195
Dateien und Dateipfade.......................... . . . . .... . . . . .... . . 195
Backslash unter Windows und Schrägstrich unter OS X und Linux . . 196
Das aktuelle Arbeitsverzeichnis............................... 197
Absolute und relative Pfade............................. . . ... . 198
Neue Ordner mit os.makedirs() erstellen.............. 199
Das Modul os.path.................................................. 200
Absolute und relative Pfade verwenden............... . . . ...... 200
Dateigrößen und Ordnerinhalte ermitteln..................... . . . 202
Die Gültigkeit von Pfaden prüfen................. ... . . . 203
Dateien lesen und schreiben ............................... .1 /. 204
Dateien mit der Funktion open() öffnen ............ i . . 205
Die Inhalte einer Datei lesen . . . . ... . .................. 206
Dateien schreiben............................................ 207
Variablen mit dem Modul shelve speichern.............................. 208
Variablen mit der Funktion pprint.pformat() speichern........... 210
lErojelgf: Zufallsgenerator für Tests............................... 211
Schritt 1: Die Daten für den Test in einem Dictionary speichern ..... 211
Schritt 2: Die Fragebogendatei erstellen und die Fragen mischen . . . 213
Schritt 3: Die Auswahl der möglichen Antworten zusammenstellen . . 214
Schritt 4: Den Inhalt der Dateien für die Frage-und
Lösungsbogen schreiben......................................... 215
jEfojekt;] Mehrfach-Zwischenablage ................................. 216
Schritt 1: Kommentare und Vorbereitungen für die Shelf-Daten ..... 217
Schritt 2: Den Inhalt der Zwischenablage unter einem
Schlüsselwort speichern.......... .... ........ ... . . 218
Schritt 3: Schlüsselwörter auflisten und Inhalte laden ...... ... ... . 219
Zusammenfassung.......................................................220
Wiederholungsfragen ............................................... 220
Übungsprojekte.................................................. 221
Erweiterte Mehrfach-Zwischenablage............ . . ........ 221
Lückentextspiel............................... . . . . .... ... 221
Regex-Suche.................................................... 222
xii
Inhalt
9 Dateien verwalten..................................................223
Das Modul shutil ..................................................224
Dateien und Ordner kopieren.....................................224
Dateien und Ordner verschieben und umbenennen...................225
Dateien und Ordner unwiederbringlich löschen . ...............227
Sicheres Löschen mit dem Modul send2trash ......................228
Einen Verzeichnisbaum durchlaufen ................................. 228
Dateien mit der Methode zipfile komprimieren.......................230
ZIP-Dateien lesen . . . .................................... 231
ZIP-Dateien entpacken ..........................................232
ZIP-Dateien erstellen und Inhalte hinzufügen....................233
Projekt: Amerikanische Datumsangaben in europäische ändern...........233
Schritt 1: Einen regulären Ausdruck für amerikanische
Datumsangaben definieren .......................................234
Schritt 2: Die einzelnen Teile der Datumsangabe in den
Dateinamen ermitteln........................................... 235
Schritt 3: Die neuen Dateinamen zusammenstellen und die Dateien
umbenennen.................................................237
Vorschläge für ähnliche Programme...............................238
Projekt! Einen Ordner in einer ZIP-Datei sichern.....................238
Schritt 1: Die Namen der ZIP-Dateien bestimmen..................238
Schritt 2: Die neue ZIP-Datei erstellen . ......................240
Schritt 3: Den Verzeichnisbaum durchlaufen und Inhalte zur
ZIP-Datei hinzufügen . . . . ................................. 240
Vorschläge für ähnliche Programme . ............................242
Zusammenfassung ...................... . ..........................242
Wiederholungsfragen .................................................243
Übungsprojekte ......................................................243
Selektives Kopieren .......................................... 243
Nicht mehr benötigte Dateien löschen............................243
Lücken entfernen .............. . . . ........................244 10
10 Debugging.................................................... 245
Ausnahmen auslösen...................................................246
Traceback als String abrufen.........................................248
Zusicherungen (Assertions)......................................... 249
Zusicherungen in einem Ampelsimulator ..........................250
Zusicherungen deaktivieren .....................................252
Inhalt
xiü
Protokollierung........ . . ........-.
Das Modul logging verwenden......
Kein Debugging mit print() . . ..
Protokolliergrade ......
Die Protokollierung deaktivieren ....
Protokollierung in eine Datei ......
Der Debugger von IDLE.................
Go...............................
Step.............................
Over.............................
Out..............................
Quit ..........................
Debugging eines Additionsprogramms
Haltepunkte ..................
Zusammenfassung.......................
Wiederholungsfragen ..............
Übungsprojekt.........................
Münzwurfprogramm ................ 11
252
252
254
255
256
257
257
258
258
258
259
259
259
262
263
264
264
264
11 WebScraping ...........................................
Projekt: maplt.py mit dem Modul webbrowser .............
Schritt 1: Den 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
Nach Fehlern suchen......................
Heruntergeladene Dateien auf der Festplatte speichern . ..
HTML .................................................
Quellen zu HTML ......................................
Ein kleiner Auffrischungskurs................
Den HTML-Quellcode einer Webseite einsehen ...........
Die Entwicklertools des Browsers öffnen ...........
HTML-Elemente mithilfe der Entwicklertools finden .....
, 267
268
269
269
270
271
271
272
273
274
275
276
276
277
278
280
xiv Inhalt
HTML mit dem Modul Beautiful Soup durchsuchen........................281
Ein BeautifulSoup-Objekt aus dem HTML-Text erstellen............281
Elemente mit der Methode selectQ finden.........................282
Daten aus den Attributen eines Elements abrufen.................284
pSröjekt: Google-Suche »Auf gut Glück«............................... 285
Schritt 1: Die Befehlszeilenargumente abrufen und
die Suchergebnisseite anfordern .................................285
Schritt 2: Alle Ergebnisse finden . . ..........................286
Schritt 3: Browsertabs für jedes Suchergebnis öffnen............287
Vorschläge für ähnliche Programme ...............................288
lifroielctll Alle XKCD-Comics herunterladen ..........................288
Schritt 1: Den Aufbau des Programms festlegen ...................290
Schritt 2: Die Webseite herunterladen ...........................291
Schritt 3: Das Bild des Comics finden und herunterladen ........291
Schritt 4: Das Bild speichern und den vorherigen Comic suchen...292
Vorschläge für ähnliche Programme ...............................294
Den Browser mit dem Modul Selenium steuern............................294
Einen seleniumgesteuerten Browser starten........................295
Elemente auf der Seite finden ...................................295
Auf Links klicken . ............................................ 297
Formulare ausfüllen und absenden.................................298
Die Betätigung von Sondertasten simulieren.......................298
Auf Browserschaltflächen klicken.................................299
Weitere Informationen über Selenium..............................300
Zusammenfassung.......................................................300
Wiederholungsfragen . ............................................... 300
Übungsprojekte . . ................................................. 301
E-Mail-Programm für die Befehlszeile.............................301
Download-Programm für Fotowebsites...............................301
2048 ......................................................... 302
Linküberprüfung...............................................302 12
12 Arbeiten mit Excel-Arbeitsblättern.................................303
Excel-Dokumente..................................................... 304
Das Modul openpyxl installieren............... . ...................304
Excel-Dokumente lesen............................................... 304
Excel-Dokumente mit OpenPyXL öffnen .............................305
Arbeitsblätter aus der Arbeitsmappe abrufen .....................306
Inhalt
xv
Zellen in Arbeitsblättern ansprechen.......................... . . v 306
Umrechnen zwischen Kennbuchstaben und Nummern................... 308
Zeilen und Spalten eines Arbeitsblatts abrufen . . . ............. 309
Arbeitsmappen, Arbeitsblätter und Zellen....................... . . . 311
[Projekt^ Daten in einer Arbeitsmappe lesen ........................ 311
Schritt 1: Die Daten der Arbeitsmappe lesen.......... . ..... . ... 312
Schritt 2: Die Datenstruktur füllen . . ..... . . . ..............313
Schritt 3: Die Ergebnisse in eine Datei schreiben ............. 315
Vorschläge für ähnliche Programme.............................. 316
Excel-Dokumente schreiben .......................................... 317
Excel-Dokumente erstellen und speichern.......................... 317
Arbeitsblätter erstellen und entfernen............................318
Werte in Zellen schreiben...................................... .319
[Projekt: Ein Arbeitsblatt aktualisieren ............................ .319
Schritt 1: Eine Datenstruktur mit den neuen Informationen
einrichten ...................................................... 320
Schritt 2: Alle Zeilen prüfen und die falschen Preise korrigieren.321
Vorschläge für ähnliche Programme .............................. 322
Die Schrift in den Zellen gestalten................................. 323
Font-Objekte....................................................... 324
Formeln.............................................................. 325
Das Erscheinungsbild von Zeilen und Spalten festlegen................. 327
Zeilenhöhe und Spaltenbreite festlegen.......................... 327
Zellen verbinden und aufteilen....................................328
Bereiche fixieren............................................. 329
Diagramme.................................................... ........ . 330
Zusammenfassung........................................... . . . v. 332
Wiederholungsfragen ...................................................333
Übungsprojekte...................... .... . . ..... . I . . . . . 334
Multiplikationstabellen erstellen............................... 334
Leere Zeilen einfügen ..................................... . . . . . . 334
Zellen transponieren...................................... 335
Textdateien in Arbeitsblätter umwandeln......................... 336
Arbeitsblätter in Textdateien umwandeln .................. . . . . . 336
xvi Inhalt
13 Arbeiten mit PDF- und Word-Dokumenten . .......................337
PDF-Dokumente ..............................••••...................337
Text aus PDFs entnehmen ......................................338
PDFs entschlüsseln . .........................................340
5 PDFs erstellen............................................. 340
Projekt:} Ausgewählte Seiten aus mehreren PDFs kombinieren.........346
Schritt 1: Alle PDF-Dateien finden . .........................346
Schritt 2: Die einzelnen PDFs öffnen . . .....................347
Schritt 3: Die einzelnen Seiten hinzufügen ....................348
Schritt 4: Die Ergebnisse speichern........................... 349
Vorschläge für ähnliche Programme .............................349
Word-Dokumente . . . . ......................................... 350
Word-Dokumente lesen......................................... 351
Den kompletten Text einer .docx-Datei abrufen..................352
Absätze und Run-Objekte formatieren .......................... 353
Word-Dokumente mit anderen als den Standardformaten erstellen ... 355
Run-Attribute .................................................356
Word-Dokumente schreiben.......................................358
Überschriften hinzufügen ......................................360
Zeilenwechsel und Seitenumbrüche hinzufügen....................360
Bilder einfügen ...............................................361
Zusammenfassung................................................... 362
Wiederholungsfragen .............................................. 362
Übungsprojekte .................................................. 363
PDF-Paranoia...................................................363
Personalisierte Einladungen als Word-Dokument..................363
Brute-Force-Passwortknacker für PDFs .......................364 14
14 Arbeiten mit CSV-Dateien und JSON-Daten..........................367
Das Modul csv ..................................................... 368
Reader-Objekte................................................ 369
Daten in einer for-Schleife aus Reader-Objekten lesen..........370
Writer-Objekte............................................. 371
Die Schlüsselwortargumente delimiter und lineterminatorJ........372
Projekt: Kopfzeilen aus CSV-Dateien entfernen ......................373
Schritt 1: Alle CSV-Dateien durchlaufen........................373
Schritt 2: Die CSV-Datei lesen.................................374
Schritt 3: Die CSV-Datei ohne die erste Zeile schreiben........375
Vorschläge für ähnliche Programme .............................376
Inhalt xvii
JSON und APIs...................... ............................... 376
Das Modul json ...................................... 378
JSON-Daten mit der Funktion loads() laden..................... . . 378
JSON-Daten mit der Funktion dumps() schreiben ....... .-....... . 378
Projekt:] Die aktuellen Wetterdaten abrufen ..................... 379
Schritt 1: Den Standort aus dem Befehlszeilenargument entnehmen . . 379
Schritt 2: Die JSON-Daten herunterladen....................... 380
Schritt 3: JSON-Daten laden und die Wettervorhersage ausgeben .... 381
Vorschläge für ähnliche Programme ............................. 382
Zusammenfassung.................................................... 383
Wiederholungsfragen ............................................... 383
Übungsprojekt....................................................... 384
Excel-in-CSV-Konverter .........................................384
15 Zeit einhalten, Aufgaben zeitlich planen und Programme starten ..... 385
Das Modul time ......................................................386
Die Funktion time.time()............................ .... 386
Die Funktion time.sleepO .......................................387
Zahlen runden...................................................... 388
Projekt: Superstoppuhr............................................. 389
Schritt 1: Das Programm auf die Zeitmessung vorbereiten . ..... . 390
Schritt 2: Intervalldauern messen und anzeigen................. 390
Vorschläge für ähnliche Programme ............................ 391
Das Modul datetime................................................. 392
Der Datentyp timedelta........................................ 394
Anhalten bis zu einem bestimmten Zeitpunkt.................... 395
datetime-Objekte in Strings umwandeln...........................396
Strings in datetime-Objekte umwandeln......................... 397
Die Zeitfunktionen von Python im Überblick......................... 398
Multithreading ................................................... 399
Argumente an die Zielfunktion eines Threads übergeben .... . .... ■. 401
Probleme der Nebenläufigkeit ................................. 402
Projekt: Multithread-Version des XKCD-Download-Programms . . . . . . . . 402
Schritt 1: Eine Funktion für den Download verwenden ........ . . . . 403
Schritt 2: Threads erstellen und starten..........L .......... . 404
Schritt 3: Auf das Ende aller Threads warten ...................405
xviii
Inhalt
Andere Programme von Python aus starten............................405
Befehlszeilenargumente an PopenQ übergeben ...................407
Taskplaner, launchd und cron..................................408
Websites mit Python aufrufen .................................408
Andere Python-Skripte ausführen...............................408
Dateien in ihren Standardanwendungen öffnen...................409
Projekt! Ein einfaches Countdown-Programm .........................411
Schritt 1: Der Countdown .....................................411
Schritt 2: Die Klangdatei abspielen...........................412
Vorschläge für ähnliche Programme.............................413
Zusammenfassung..................................................413
Wiederholungsfragen ...............................................414
Übungsprojekte.....................................................414
Elegantere Stoppuhr...........................................414
Webcomic-Download-Programm mit Zeitplanung....................415
16 E-Mails und Textnachrichten senden ........................... 417
SMTP.............................................................. 418
E-Mails senden.....................................................418
Verbindung mit einem SMTP-Server aufnehmen....................419
Die »Hallo«-Nachricht an den SMTP-Server senden...............420
Die TLS-Verschlüsselung einleiten ............................421
Am SMTP-Server anmelden ......................................421
• Eine E-Mail senden.............................................422
Die Verbindung zum SMTP-Server trennen........................422
IMAP ......................................................... 423
E-Mails mit IMAP abrufen und löschen ..............................423
Verbindung mit einem IMAP-Server aufnehmen....................424
Am IMAP-Server anmelden...................................... 425
Nach E-Mails suchen ............ . . .......................425
E-Mails abrufen und als gelesen markieren.....................430
E-Mail-Adressen aus einer Rohnachricht gewinnen...............431
Den Rumpf aus einer Rohnachricht gewinnen ....................432
E-Mails löschen............................................ 433
Die Verbindung zum IMAP-Server trennen........................434
Inhalt xix
Projekt? E-Mails über ausstehende Mitgliedsbeiträge senden ..... 435
Schritt 1: Die Excel-Datei öffnen........................... 435
Schritt 2: Alle säumigen Mitglieder finden................... ..437
Schritt 3: Personalisierte E-Mail-Mahnungen senden ............. 437
Textnachrichten mit Twilio senden.............................. . 439
Ein Twilio-Konto einrichten .....................................440
Textnachrichten senden........................................ 440
PfÖjekt:- Das Modul »Just Text Me«.................................. 443
Zusammenfassung................................................... 444
Wiederholungsfragen ..................................................444
Übungsprojekte.................. . . . ............ ... .... . 445
Zufällige Zuweisung von Arbeiten.............................. 445
Regenschirmhinweis............................................. 445
Automatischer Entregistrierer....................................446
Den Computer per E-Mail steuern .................. . . ....... 446 17
17 Bildbearbeitung............................................. 449
Grundlagen zur Bilddarstellung auf Computern ..................... 450
Farben und RGBA-Werte ......................................... 450
Koordinaten und Rechtecktupel.................................. 452
Bildbearbeitung mit Pillow ........................................ .453
Arbeiten mit dem Datentyp Image ............................... 455
Bilder beschneiden ............................................. 456
Bilder kopieren und in andere Bilder einfügen ................ . 457
Die Bildgröße ändern ......................................... 460
Bilder drehen und spiegeln ................................ ... 461
Einzelne Pixel ändern ......................................... 463
^ojel|t| Ein Logo hinzufügen....................................... . 464
Schritt 1: Das Logobild öffnen ......... ................. . ... 465
Schritt 2: Alle Dateien durchlaufen und die Bilder öffnen ... . ... . . . 466
Schritt 3: Die Bildgröße ändern................................ 467
Schritt 4: Logo hinzufügen und Änderungen speichern ............ 469
Vorschläge für ähnliche Programme .......................... ... 470
XX
Inhalt
Bilder zeichnen....... ............................................471
i Formen zeichnen.................... :.........................471
: Text zeichnen ................................................. 473
Zusammenfassung . . . .......... ..................................475
Wiederholungsfragen ............................................... 476
Übungsprojekte............................. . . ...................476
Das Logoprogramm erweitern und verbessern ......................476
Fotoordner auf der Festplatte finden ...........................477
Personalisierte Tischkarten.....................................478
18 Tastatur und Maus mit GUI-Automatisierung steuern ...............481
Das Modul PyAutoGUI installieren .................................. 482
Kleine Probleme beheben ...............................................482
Beenden durch Abmelden............................................483
Pausen und Sicherungen......................................... 483
Den Mauszeiger steuern ................................................484
Den Mauszeiger bewegen . .........................................485
Die Position des Mauszeigers abrufen..............................486
[Projekt! Wo ist mein Mauszeiger? . ................................. 486
Schritt 1: Das Modul importieren..................................487
Schritt 2: Den Beendigungscode und die Endlosschleife einrichten ... 487
Schritt 3: Die Koordinaten des Mauszeigers abrufen und anzeigen . . . 488
Mausinteraktionen..................................................... 489
Klicken ...................................................... 489
Ziehen . ....................................................... 490
Scrollen . . .....................................................492
Auf dem Bildschirm arbeiten........................................... 493
Einen Screenshot aufnehmen . . ...................................493
Einen Screenshot analysieren......................................494
[Projekt! Das Programm mouseNow erweitern..............................495
Bilderkennung .........................................................495
Die Tastatur steuern ..................................................497
Strings von der Tastatur senden...................................497
Tastennamen.......................................................498
Tasten drücken und loslassen .....................................500
Tastenkombinationen...............................................500
Inhalt xxi
Übersicht über die Funktionen von PyAutoGUI ....................... 501
Pfoieictrl Formulare automatisch ausfüllen ...................... . 502
Schritt 1: Den Ablauf herausfinden............................ 503
Schritt 2: Die Koordinaten ermitteln............ ......... 504
Schritt 3: Daten eingeben .................................... 506
Schritt 4: Auswahllisten und Optionsschalter............... . . . 508
Schritt 5: Das Formular absenden und warten ....................509
Zusammenfassung..................................................... 510
Wiederholungsfragen .................................................510
Übungsprojekte...................................................... . 511
Beschäftigung vortäuschen ......................................511
Instant-Messenger-Bot...........................................511
Tutorial für einen Spiele-Bot ..................................512
Anhang
A Drittanbietermodule installieren...................................513
Pip..................................................................513
Drittanbietermodule installieren.....................................514
B Programme ausführen................................................517
Die Shebang-Zeile....................................................517
Python-Programme unter Windows ausführen .......................... 518
Python-Programme unter OS X und Linux ausführen.................... 519
Python-Programme mit ausgeschalteten Zusicherungen ausführen.........519
C Antworten auf die Wiederholungsfragen..............................521
Kapitel 1............................................................521
Kapitel 2............................................................522
Kapitel 3............................................................524
Kapitel 4........................................................... 524
Kapitel 5.......................................................... . 525
Kapitel 6.......................................................... 526
Kapitel 7........................................................... 526
Kapitel 8 ...........................................................527
xxii Inhalt
Kapitel 9............................. . . ..............................528
Kapitel 10 ..... ........................................................ 528
Kapitel 11............................................................... 529
Kapitel 12 ............................................................ 530
Kapitel 13 . ......................................................... 531
Kapitel 14 . ........................................................... 532
Kapitel 15............................................................. 532
Kapitel 16 . .............................................................533
Kapitel 17 ... ........................................................ 533
Kapitel 18 . . ....................................................... 534
Stichwortverzeichnis...................................................... 535
|
any_adam_object | 1 |
author | Sweigart, Al |
author_GND | (DE-588)1067771913 |
author_facet | Sweigart, Al |
author_role | aut |
author_sort | Sweigart, Al |
author_variant | a s as |
building | Verbundindex |
bvnumber | BV044218976 |
classification_rvk | ST 250 |
classification_tum | DAT 366f |
ctrlnum | (OCoLC)978276595 (DE-599)BVBBV044218976 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 1. Auflage 2016, 1., korrigierter Nachdruck |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02243nam a2200529 c 4500</leader><controlfield tag="001">BV044218976</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20191018 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">170310s2017 gw a||| |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783864903533</subfield><subfield code="9">978-3-86490-353-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)978276595</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV044218976</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="1" ind2=" "><subfield code="a">ger</subfield><subfield code="h">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-83</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-355</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-473</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 366f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Sweigart, Al</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1067771913</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Automate the boring stuff with Python</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Routineaufgaben mit Python automatisieren</subfield><subfield code="b">praktische Programmierlösungen für Einsteiger</subfield><subfield code="c">Al Sweigart</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Auflage 2016, 1., korrigierter Nachdruck</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Heidelberg</subfield><subfield code="b">dpunkt.verlag</subfield><subfield code="c">2017</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxv, 550 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python 3.0</subfield><subfield code="0">(DE-588)7624871-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4434275-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Einsteiger in die Programmierung - Schüler</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Aufgaben</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Python</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Schritt für Schritt</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Python</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4434275-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Python 3.0</subfield><subfield code="0">(DE-588)7624871-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Dpunkt.Verlag (Heidelberg)</subfield><subfield code="0">(DE-588)6085529-0</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="z">978-3-86491-992-3</subfield><subfield code="n">Online-Ausgabe, PDF</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="z">978-3-86491-993-0</subfield><subfield code="n">Online-Ausgabe, ePub</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="z">978-3-86491-994-7</subfield><subfield code="n">Online-Ausgabe, mobi</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029625005&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-029625005</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV044218976 |
illustrated | Illustrated |
indexdate | 2024-07-10T07:46:55Z |
institution | BVB |
institution_GND | (DE-588)6085529-0 |
isbn | 9783864903533 |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-029625005 |
oclc_num | 978276595 |
open_access_boolean | |
owner | DE-83 DE-M347 DE-29T DE-91G DE-BY-TUM DE-355 DE-BY-UBR DE-703 DE-739 DE-11 DE-473 DE-BY-UBG |
owner_facet | DE-83 DE-M347 DE-29T DE-91G DE-BY-TUM DE-355 DE-BY-UBR DE-703 DE-739 DE-11 DE-473 DE-BY-UBG |
physical | xxv, 550 Seiten Illustrationen, Diagramme |
publishDate | 2017 |
publishDateSearch | 2017 |
publishDateSort | 2017 |
publisher | dpunkt.verlag |
record_format | marc |
spelling | Sweigart, Al Verfasser (DE-588)1067771913 aut Automate the boring stuff with Python Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger Al Sweigart 1. Auflage 2016, 1., korrigierter Nachdruck Heidelberg dpunkt.verlag 2017 xxv, 550 Seiten Illustrationen, Diagramme txt rdacontent n rdamedia nc rdacarrier Python 3.0 (DE-588)7624871-9 gnd rswk-swf Python Programmiersprache (DE-588)4434275-5 gnd rswk-swf Einsteiger in die Programmierung - Schüler Aufgaben Python Schritt für Schritt Python Programmiersprache (DE-588)4434275-5 s DE-604 Python 3.0 (DE-588)7624871-9 s 1\p DE-604 Dpunkt.Verlag (Heidelberg) (DE-588)6085529-0 pbl Erscheint auch als 978-3-86491-992-3 Online-Ausgabe, PDF Erscheint auch als 978-3-86491-993-0 Online-Ausgabe, ePub Erscheint auch als 978-3-86491-994-7 Online-Ausgabe, mobi Digitalisierung UB Passau - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029625005&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Sweigart, Al Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger Python 3.0 (DE-588)7624871-9 gnd Python Programmiersprache (DE-588)4434275-5 gnd |
subject_GND | (DE-588)7624871-9 (DE-588)4434275-5 |
title | Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger |
title_alt | Automate the boring stuff with Python |
title_auth | Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger |
title_exact_search | Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger |
title_full | Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger Al Sweigart |
title_fullStr | Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger Al Sweigart |
title_full_unstemmed | Routineaufgaben mit Python automatisieren praktische Programmierlösungen für Einsteiger Al Sweigart |
title_short | Routineaufgaben mit Python automatisieren |
title_sort | routineaufgaben mit python automatisieren praktische programmierlosungen fur einsteiger |
title_sub | praktische Programmierlösungen für Einsteiger |
topic | Python 3.0 (DE-588)7624871-9 gnd Python Programmiersprache (DE-588)4434275-5 gnd |
topic_facet | Python 3.0 Python Programmiersprache |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=029625005&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT sweigartal automatetheboringstuffwithpython AT dpunktverlagheidelberg automatetheboringstuffwithpython AT sweigartal routineaufgabenmitpythonautomatisierenpraktischeprogrammierlosungenfureinsteiger AT dpunktverlagheidelberg routineaufgabenmitpythonautomatisierenpraktischeprogrammierlosungenfureinsteiger |