Sie sind hier
E-Book

Routineaufgaben mit Python automatisieren

Praktische Programmierlösungen für Einsteiger

AutorAl Sweigart
Verlagdpunkt
Erscheinungsjahr2016
Seitenanzahl576 Seiten
ISBN9783864919923
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis23,99 EUR
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: • eine oder eine Vielzahl von Dateien nach Texten durchsuchen • Dateien und Ordner erzeugen, aktualisieren, verschieben und umbenennen • das Web durchsuchen und Inhalte herunterladen • Excel-Dateien aktualisieren und formatieren • PDF-Dateien teilen, zusammenfügen, mit Wasserzeichen versehen und verschlüsseln • Erinnerungsmails und Textnachrichten verschicken • Online-Formulare 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. Verschwenden Sie nicht Ihre Zeit mit Aufgaben, die auch ein gut dressierter Affe erledigen könnte. Bringen Sie Ihren Computer dazu, die langweilige Arbeit zu machen!

Der Softwareentwickler und Fachbuchautor Al Sweigart lebt in San Francisco. Python ist seine Lieblingsprogrammiersprache und er hat bereits mehrere Open-Source-Module dafür entwickelt.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Einleitung


»Du hast gerade in zwei Stunden das erledigt, woran wir drei sonst zwei Tage lang sitzen!«

Mein Mitbewohner in den frühen 2000er-Jahren arbeitete bei einem Elektronikhändler, bei dem gelegentlich ein Arbeitsblatt mit Tausenden von Produktpreisen eines Konkurrenten auftauchte. Drei Mitarbeiter druckten dieses Arbeitsblatt dann auf einem dicken Stapel Papier aus und teilten diesen unter sich auf. Für jeden Produktpreis schlugen sie den Preis ihres eigenen Arbeitgebers nach und notierten alle Produkte, die die Konkurrenz billiger anbot. Damit waren sie gewöhnlich zwei Tage beschäftigt.

»Wenn ich die Originaldatei bekomme, kann ich ein Programm schreiben, das die Arbeit für euch erledigt«, schlug mein Mitbewohner ihnen vor, als er sah, wie sie inmitten eines Riesenhaufens Papier auf dem Fußboden hockten.

Nach ein paar Stunden hatte er ein kurzes Programm geschrieben, das die Preisliste des Konkurrenten aus der Datei auslas, die Produkte in der Datenbank des Elektronikladens nachschlug und einen Vermerk machte, wenn die Konkurrenz billiger war. Er war immer noch ein Anfänger in Sachen Programmierung und den Großteil dieser Stunden hatte er damit zugebracht, die Dokumentation in einem Programmierbuch nachzuschlagen. Die Ausführung des fertigen Programms dauerte nur wenige Sekunden. An dem Tag gönnten sich mein Mitbewohner und seine Kollegen eine besonders lange Mittagspause.

Das zeigt das Potenzial der Programmierung. Ein Computer ist wie ein Schweizer Messer und lässt sich für zahllose Aufgaben einrichten. Viele Leute bringen Stunden mit Klicken und Tippen zu, um monotone Aufgaben durchzuführen, ohne zu ahnen, dass der Computer die Arbeit in wenigen Sekunden erledigen könnte, wenn er nur die richtigen Anweisungen dafür bekäme.

Für wen ist dieses Buch gedacht?


Viele Hilfsmittel, die wir heutzutage verwenden, stützen sich auf Software: Fast jeder nutzt Social Networks zur Kommunikation, die Telefone vieler Menschen enthalten Computer mit Internetzugriff und für die meisten Büroarbeiten ist Computerarbeit erforderlich. Daher ist die Nachfrage nach Personen, die programmieren können, sprunghaft angestiegen. Unzählige Bücher, interaktive Webtutorials und Trainingslager für Entwickler werden mit dem Versprechen beworben, ehrgeizige Anfänger zu Softwareingenieuren zu machen, die sechsstellige Gehälter verlangen können. Dieses Buch ist nicht für diese Leute, sondern für alle anderen.

Mit diesem Buch allein können Sie nicht zu einem professionellen Softwareentwickler werden, genauso wenig wie ein paar Gitarrenstunden Sie zu einem Rockstar machen. Wenn Sie aber Büroangestellter, Administrator oder Akademiker oder irgendjemand anderes sind, der zur Arbeit oder zum Vergnügen einen Computer verwendet, so werden Sie hier die Grundlagen der Programmierung kennenlernen, um einfache Aufgaben wie die folgenden zu automatisieren:

  • Tausende von Dateien verschieben und umbenennen und in Ordner sortieren,

  • Onlineformulare ausfüllen, ohne Text eingeben zu müssen,

  • Dateien von einer Website herunterladen oder Texte von dort kopieren, sobald dort neues Material bereitgestellt wird,

  • sich von Ihrem Computer per SMS benachrichtigen lassen,

  • Excel-Arbeitsblätter bearbeiten und formatieren,

  • nach neuen E-Mails suchen und vorformulierte Antworten senden.

Diese Aufgaben sind einfach, aber zeitraubend, und sie sind häufig so trivial oder so spezifisch, dass es keine fertige Software dafür gibt. Mit einigen Programmierkenntnissen können Sie Ihren Computer diese Aufgaben für sich erledigen lassen.

Programmierstil


Dieses Buch ist nicht als Nachschlagewerk gedacht, sondern als Anleitung für Anfänger. Der Programmierstil verstößt manchmal gegen die üblichen Richtlinien (beispielsweise werden in einigen Programmen globale Variablen verwendet), aber das ist ein Kompromiss, um das Lernen zu vereinfachen. Dieses Buch ist dazu gedacht, Wegwerfcode für einzelne Aufgaben zu schreiben, weshalb wir nicht viel Mühe auf Stil und Eleganz verwenden. Auch anspruchsvolle Programmierkonzepte wie Objektorientierung, Listenabstraktion und Generatoren werden hier aufgrund ihrer Kompliziertheit nicht behandelt. Altgediente Programmierer werden den Code sicherlich ändern wollen, um die Effizienz zu erhöhen, aber in diesem Buch geht es darum, Programme mit so wenig Aufwand wie möglich zum Laufen zu bekommen.

Was ist Programmierung?


In Filmen und Fernsehserien werden Programmierer oft als Leute dargestellt, die wie rasend auf einer Tastatur herumtippen, um kryptische Folgen von Nullen und Einsen auf leuchtenden Bildschirmen erscheinen zu lassen. In Wirklichkeit ist moderne Programmierung aber nicht so geheimnisvoll. Programmierung ist einfach die Eingabe von Anweisungen, die der Computer ausführen soll. Diese Anweisungen können dazu dienen, mit Zahlen zu rechnen, Text zu ändern, Informationen in Dateien nachzuschlagen oder über das Internet mit anderen Computern zu kommunizieren.

Alle Programme bestehen aus einfachen Anweisungen, die die Grundbausteine darstellen. Einige der gebräuchlichsten dieser Anweisungen besagen, auf Deutsch übersetzt, Folgendes:

»Mach dies; dann mach das.«

»Wenn diese Bedingung wahr ist, dann führe diese Aktion aus; anderenfalls jene Aktion.«

»Mach dies soundso oft.«

»Mach dies, solange die Bedingung wahr ist.«

Diese Bausteine können Sie kombinieren, um auch kompliziertere Entscheidungen zu treffen. Im folgenden Beispiel sehen Sie die Programmieranweisungen – den Quellcode – für ein einfaches Programm in der Programmiersprache Python. Die Software Python führt die einzelnen Codezeilen vom Anfang bis zum Ende aus. (Manche Zeilen werden nur ausgeführt, wenn (if) eine Bedingung wahr ist (true); anderenfalls (else) führt Python eine andere Zeile aus.)

passwordFile = open('SecretPasswordFile.txt')   
secretPassword = passwordFile.read()   
print('Enter your password.')   
typedPassword = input()
if typedPassword == secretPassword:   
   print('Access granted')   
   if typedPassword == '12345':   
      print('That password is one that an idiot puts on their luggage.')   
else:
   print('Access denied')   

Auch wenn Sie noch nicht viel von Programmierung verstehen, können Sie vielleicht doch erraten, was der vorstehende Code bewirkt. Als Erstes wird die Datei SecretPasswordFile.txt geöffnet () und das geheime Passwort gelesen (). Danach wird der Benutzer aufgefordert, ein Passwort einzugeben (über die Tastatur) (). Die beiden Passwörter werden verglichen () und wenn sie identisch sind, gibt das Programm auf dem Bildschirm die Meldung Access granted (»Zugang gewährt«) aus (). Danach prüft das Programm, ob das Passwort 12345 lautet (); wenn ja, gibt es dem Benutzer den dezenten Hinweis, dass dies nicht gerade die ideale Wahl für ein Passwort ist (). Sind die Passwörter nicht identisch, gibt das Programm Access denied (»Zugriff verweigert«) aus ().

Was ist Python?

Der Begriff Python bezeichnet die Programmiersprache Python (deren Syntaxregeln festlegen, was als gültiger Python-Code angesehen wird) und den Python-Interpreter, eine Software, die den (in der Sprache Python geschriebenen) Code liest und dessen Anweisungen ausführt. Den Python-Interpreter können Sie kostenlos von http://python.org/ herunterladen, wobei es Versionen für Linux, OS X und Windows gibt.

Der Name Python ist übrigens nicht von der Schlange abgeleitet, sondern von der surrealistischen britischen Komikergruppe Monty Python. Python-Programmierer werden liebevoll »Pythonistas« genannt und Tutorials sowie Dokumentation zu Python stecken voller Anspielungen sowohl auf Monty Python als auch auf Schlangen.

Programmierer müssen nicht viel Mathe können

Wenn mir jemand erklärt, warum er Angst davor hat, Programmieren zu lernen, geht es meistens darum, dass er glaubt, dazu müsste man sehr gut in Mathematik sein. In Wirklichkeit ist zur Programmierung meistens nicht mehr Mathe als einfache Grundrechenarten erforderlich. Programmieren lässt sich in diesem Punkt sogar mit dem Lösen von Sudoku-Rätseln vergleichen. Dazu müssen Sie in jede Zeile, jede Spalte und jedes innere 3x3-Quadrat des gesamten 9x9-Feldes die Zahlen von 1 bis 9 einfügen. Aus den vorgegebenen Zahlen leiten Sie die Lösung dabei durch Deduktion und Logik ab. Beispielsweise steht in dem obersten linken Feld des Sudoku-Rätsels aus Abbildung E–1 eine 5, sodass diese...

Blick ins Buch

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

VBA mit Access

E-Book VBA mit Access

»Ein gelungener Mix aus Nachschlagewerk und Praxis-Beispielen. Sehr gut!« - dotnetpro zur Vorauflage Das Standardwerk zu VBA mit Access! Grundlagen und fortgeschrittene VBA-Programmierung ...

Datenanalyse mit Python

E-Book Datenanalyse mit Python

Erfahren Sie alles über das Manipulieren, Bereinigen, Verarbeiten und Aufbereiten von Datensätzen mit Python: Aktualisiert auf Python 3.6, zeigt Ihnen dieses konsequent praxisbezogene Buch anhand ...

JBoss Seam

E-Book JBoss Seam

Bernd Müller JBoss Seam Die Web-Beans-Implementierung JavaEE INNOVATIV UND AGIL MIT JBOSS SEAM - Lernen Sie die grundlegenden Konzepte und Komponenten von Seam kennen. - Erfahren Sie, wie Sie ...

Enterprise JavaBeans 3.1

E-Book Enterprise JavaBeans 3.1

EJB 3.1 LEICHT GEMACHT - Aktuelle und praxisorientierte Einführung in EJB 3.1 - Lernen durch Selbermachen: Die einzelnen Teilaspekte von EJB 3 werden an einer Vielzahl praktischer Beispiele ...

Weitere Zeitschriften

FESTIVAL Christmas

FESTIVAL Christmas

Fachzeitschriften für Weihnachtsartikel, Geschenke, Floristik, Papeterie und vieles mehr! FESTIVAL Christmas: Die erste und einzige internationale Weihnachts-Fachzeitschrift seit 1994 auf dem ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

crescendo

crescendo

Die Zeitschrift für Blas- und Spielleutemusik in NRW- Informationen aus dem Volksmusikerbund NRW - Berichte aus 23 Kreisverbänden mit über 1000 Blasorchestern, Spielmanns- und Fanfarenzügen - ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

Demeter-Gartenrundbrief

Demeter-Gartenrundbrief

Einzige Gartenzeitung mit Erfahrungsberichten zum biologisch-dynamischen Anbau im Hausgarten (Demeter-Anbau). Mit regelmäßigem Arbeitskalender, Aussaat-/Pflanzzeiten, Neuigkeiten rund um den ...