easyinput - Einfaches Abfragen von Benutzereingaben

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Da die Abfrage von Benutzereingaben samt Fehlerbehandlung hier immer wieder mal Thema ist, habe ich ein kleines Modul dafür geschrieben:
https://gist.github.com/seblin/7b77cfa1 ... 2d01f3f78b

Ein paar Beispiele zur Benutzung:
[codebox=pycon file=Unbenannt.txt]>>> import easyinput
>>> easyinput.ask_input('Give me a number: ', int)
Give me a number: foo
Invalid value

Give me a number: 42
42
>>> easyinput.ask_input('Give me a number (1-10): ', int, 1, 10)
Give me a number (1-10): 42
Invalid value

Give me a number (1-10): 10
10
>>> easyinput.ask_choice(['Apple', 'Banana', 'Cherry'])
Choose an item:
[1] Apple
[2] Banana
[3] Cherry
Choice: 5
Invalid value

Choice: 2
2
>>> easyinput.ask_input('Want to proceed (Yes/No)? ', easyinput.yesno)
Want to proceed (Yes/No)? spam
Invalid value

Want to proceed (Yes/No)? yes
True
[/code]
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich hab mal ein bißchen weitergemacht. Die Funktion für Menüs habe ich rausgeschmissen, sie kommt vielleicht später zurück. Dafür kann man nun Eingabebereiche überprüfen lassen (z. B. 1-10, alle positiven Zahlen, alles außer Null, 'a' - 'c', usw). Einige Beispiele finden sich im Docstring des Moduls.

Den Code gibt es hier: https://gist.github.com/seblin/134d9c00 ... 122d2801c4
Antworten