python library for user input

寵の児 提交于 2019-12-04 05:40:41

Necromanting again...

Please have a look at click if you need a simple helper library for questions. Its main focus are command line options, but it’s a good fit for your use case, I think.

A.Wan

From the accepted answer to this question: the cmd library might be of interest to you.

"The Cmd class provides a simple framework for writing line-oriented command interpreters."

This Python Module of the Week page features it, and it has some examples and explanations.

I don't know if such a library exists, but you could write an high-order function like this:

def check_input(predicate, msg, error_string="Illegal Input"):
    while True:
        result = input(msg).strip()
        if predicate(result):
            return result
        print(error_string)

result = check_input(lambda x: x in ['male', 'female'],
                                   'Are you male or female? ')
print(result)

Output:

Are you male or female? foo
Illegal Input
Are you male or female? bar
Illegal Input
Are you male or female? Male
Illegal Input
Are you male or female? male
male

I stumbled in this thread looking for a similar library and i was quite disappointed for the fact that there isn't one, so i wrote one. I will work a lot on this in the next days because i need a lot more features for what i'm writing.

pickone

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!