Übergabe von Werten bei Aufruf von Pythonprogramm

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
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.
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

Danke für die schnellen Antworten.
Genau das hab ich gesucht.

Jetzt brauch ich es nur noch zu verstehen :lol:
Antworten