Seite 1 von 1

Übergabe von Werten bei Aufruf von Pythonprogramm

Verfasst: Dienstag 22. März 2016, 13:43
von JohannesGolf
Hallo zusammen,

ich bräuchte mal wieder eure Hilfe.
Wie oben schon beschrieben, möchte ich, wenn ich mein Programm in der CMD aufrufe, Werte Übergeben mit denen er dann es dann arbeiten kann.

Sollte ungefähr so aussehen:
python <Pfad vom Programm/ Name> 7h

7h steht in diesem Fall für 7 Stunden. mit dem 7h möchte ich Daten finden deren Änderungsdatum in einem Zeitfenster von jetzt bis vor 7 Stunden liegt.

Ergänzung: Ich möchte auch einen Default-Wert haben, also wenn man das z.B. 7h weglässt nimmt er den Vorgegebenen wert. Nur wenn ich einen zusätzlichen Wert beim Aufruf angebe wird dieser genommen.
Was brauch ich dazu genau und wie könnte ich das eurer Meinung nach machen?

Vielen Dank im Voraus

Grüße JohannesGolf

Re: Übergabe von Werten bei Aufruf von Pythonprogramm

Verfasst: Dienstag 22. März 2016, 13:54
von cofi
Stichwort Kommandozeilenargumente (Command Line Arguments). Die findet man in `sys.argv` und kann man zum Beispiel mit `argparse` verarbeiten. Wenn man aber wirklich nur etwas simples braucht - und sich das auch garantiert nicht aendert - kann man auch ganz einfach auf `sys.argv` operieren.

Re: Übergabe von Werten bei Aufruf von Pythonprogramm

Verfasst: Dienstag 22. März 2016, 13:55
von BlackJack
@JohannesGolf: Argumente stehen in `sys.argv`. Und in der Standardbibliothek gibt es das `argparse`-Modul um sich deren Verarbeitung leichter zu machen. Mit dem Weglassen von Argumenten wäre ich vorsichtig. Damit maneuvriert man sich schnell mal in eine sehr komische API die sich schlecht erweitern lässt. Üblicherweise verwendet man für ”optionale Argumente” Optionen.

Re: Übergabe von Werten bei Aufruf von Pythonprogramm

Verfasst: Dienstag 22. März 2016, 14:11
von JohannesGolf
Danke für die schnellen Antworten.
Genau das hab ich gesucht.

Jetzt brauch ich es nur noch zu verstehen :lol:

Re: Übergabe von Werten bei Aufruf von Pythonprogramm

Verfasst: Dienstag 22. März 2016, 18:53
von miracle173