Von der Shell zu Python

Hallo, wenn ich jemanden Python schmackhaft machen möchte, der bis jetzt jahrelang die Shell zum Programmieren genutzt hat, wie kann ich da vorgehen? Zum einen suche ich Dokumentation mit pragmatischen Beispielen. Zum anderen, gibt es vielleicht eine Bibliothek die hilft? Einige Dinge wie zB "rm -rf" sind in Python doch deutlich umständlicher. Hintergrund: ich nutze dich Shell seit ein paar Jahren nur noch interaktiv und habe den Wechsel nicht bereut. Policy: Wenn es in ein (git) Repo kommt, dann darf es nicht mit der Shell gelöst werden. Shellscripte für den einmaligen Aufruf sind ok. Gruß, Thomas

Mfg... 1. ein alter aber netter "Einstiegs" Blogpost von Redhat, den man mal aufgefrischt neu auflegen könnte. Red Hat Magazine | Python for Bash scripters: A well-kept secret [Internet]. [cited 2010 Jun 27]. Available from: http://magazine.redhat.com/2008/02/07/python-for-bash-scripters-a-well-kept-... Wichtig: optparse wurde ja inzwischen durch argparse ersetzt. siehe https://docs.python.org/3/library/argparse.html 2. Die “IPython” Interactive Shell und das Notebook können in vielen interaktiv Fällen die Shell ersetzen (RTFM). Schön, wenn man "mal eben fertiggefummeltes" wiederverwenden will. 3. How to write a well-behaved Python command line application [Internet]. [cited 2013 Mar 25]. Available from: http://de.slideshare.net/gjcross/tutorial1-14045370 4. Commandeer 0.2.2 : Python Package Index [Internet]. [cited 2015 Mar 27]. Available from: https://pypi.python.org/pypi/Commandeer Das hat Johannes Spielmann geschrieben und bei der PyDD in Düsseldorf vorgestellt. Es sollte ein Video von seinem Talk online verfügbar sein my 2 Cent -- Armin Am 27.03.2015 um 10:02 schrieb Thomas Güttler <guettliml@thomas-guettler.de>:
Hallo,
wenn ich jemanden Python schmackhaft machen möchte, der bis jetzt jahrelang die Shell zum Programmieren genutzt hat, wie kann ich da vorgehen?
Zum einen suche ich Dokumentation mit pragmatischen Beispielen.
Zum anderen, gibt es vielleicht eine Bibliothek die hilft?
Einige Dinge wie zB "rm -rf" sind in Python doch deutlich umständlicher.
Hintergrund: ich nutze dich Shell seit ein paar Jahren nur noch interaktiv und habe den Wechsel nicht bereut.
Policy: Wenn es in ein (git) Repo kommt, dann darf es nicht mit der Shell gelöst werden.
Shellscripte für den einmaligen Aufruf sind ok.
Gruß, Thomas
_______________________________________________ python-de maillist - python-de@python.org https://mail.python.org/mailman/listinfo/python-de
-- Armin Carl Stroß-Radschinski | developer@acsr.de | Twitter: @syncmitter Dipl. Designer FH | project-consultant | fon +49 171 21 94699 | IRC: acsr | Skype: astrossradschinski ACSR industrialdesign | Armin Stroß-Radschinski Landgrafenstraße 32 · 53842 Troisdorf · Germany | UST. ID Nr: DE154092803 (EU VAT ID) info@acsr.de | www.acsr.de | phone +49 2241 946994 · fax +49 2241 946996

Am Fri, 27 Mar 2015 10:02:26 +0100 schrieb Thomas Güttler <guettliml@thomas-guettler.de>:
wenn ich jemanden Python schmackhaft machen möchte, der bis jetzt jahrelang die Shell zum Programmieren genutzt hat, wie kann ich da vorgehen?
Zeig ihm, dass er seine Probleme einfacher mit Python lösen kann. Ist das nicht der Fall, halte ich es für wenig sinnvoll, ihm Python aufzudrängen.
Policy: Wenn es in ein (git) Repo kommt, dann darf es nicht mit der Shell g elöst werden.
Ich halte es für sinnvoller, eine möglichst gut geeignete Sprache zu verwenden -- GtkFalse - a GUI version of /bin/false. http://www.florian-diesch.de/software/gtkfalse/

Am 27.03.2015 um 14:59 schrieb Florian Diesch:
Am Fri, 27 Mar 2015 10:02:26 +0100 schrieb Thomas Güttler <guettliml@thomas-guettler.de>:
Ich halte es für sinnvoller, eine möglichst gut geeignete Sprache zu verwenden
Ja das stimm. Wo ist die Shell besser geeignet als Python? Natürlich außerhalb der interaktiven Verwendung und außerhalb von Umgebungen (zB busybox) wo Python nicht verfügbar ist. Gruß, Thomas

Am 27.03.2015 um 16:14 schrieb Thomas Güttler:
Wo ist die Shell besser geeignet als Python? Bei mir typischerweise in zwei Fällen:
- Wenn man viele "shell"-Programme nacheinander ausführen möchte. - Oder wenn man den Output eines Programme filtern und bearbeiten möchte (klassische pipes) Die Shell ist m.E. eindeutig *schlechter* sobald - man "komplexe Datenstrukturen hat (und das fängt schon bei einer Liste an), oder - wenn man Daten lesen und *sicher* weiterverarbeiten möchte (da bricht man sich mit dem Quoting in der Shell einen ab). Allerdings kenne ich IPython nicht. -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: http://www.goebel-consult.de/blog/ehrlichkeit-made-in-germany Kolumne: http://www.cissp-gefluester.de/2011-08-horrorszenario-bring-your-own-device

Am 27.03.2015 um 16:14 schrieb Thomas Güttler:
Wo ist die Shell besser geeignet als Python?
Z.B. * Bei der Verarbeitung von Dateien mit Texten in nicht-ASCII * Bei der Verarbeitung von Dateinamen mit Leerzeichen und nicht-ASCII * Beim Parsen von komplexen Ausgaben anderer Programme * Bei der Kommunikation mit anderen Prozessen über Stdin/Stdout, wenn es über bloße Filterpipelines hinausgeht * Beim Parsen/Handling von Kommandozeilenparametern Chris

Am Fri, 27 Mar 2015 16:14:11 +0100 schrieb Thomas Güttler <guettliml@thomas-guettler.de>:
Am 27.03.2015 um 14:59 schrieb Florian Diesch:
Am Fri, 27 Mar 2015 10:02:26 +0100 schrieb Thomas Güttler <guettliml@thomas-guettler.de>:
Ich halte es für sinnvoller, eine möglichst gut geeignete Sprache zu verwenden
Ja das stimm.
Wo ist die Shell besser geeignet als Python?
z.B.: * Wenn du nur ein paar Kontrollstrukturen, Pipes o.ä. brauchst, um den Aufruf externer Programme zu koordinieren. * Oft wenn es darum geht, einfache Textdaten zeilenorientiert zu verarbeiten * "find" ist in Python recht umständlich nachzuahmen * Wenn du einfache UI-Elemente im Stil von dialog, zenity o.ä. willst, und der Rest ausreichend einfach ist Oft ist es natürlich auch eine Geschmacks- und Gewohnheitsfrage, welche Sprache man für besser geeignet hält. -- GtkFalse - a GUI version of /bin/false. http://www.florian-diesch.de/software/gtkfalse/
participants (5)
-
Armin Stroß-Radschinski
-
Christopher Arndt
-
Florian Diesch
-
Hartmut Goebel
-
Thomas Güttler