繁体   English   中英

是否有用于处理和验证用户输入的 Python 库?

[英]Is there a Python library for handling and validating user input?

我有一个项目涉及在其主要方法运行时每隔一段时间向用户请求(目前是命令行)反馈。

到目前为止,我一直在使用input('{my_prompt}')从我的用户那里获取此输入,但是每次调用input()时我都必须非常烦人地处理用户输入。 这使我的代码膨胀到每个用户输入行超过 5 行代码,这感觉非常过分。 我的一些用户输入处理包括以下内容。

if input.lower() not in ['y', 'n']:
    raise ValueError('Not valid input! Please enter either "y" or "n"')
if input.lower() == 'y':
    input = True
else:
    input = False

如果用户正在传递命令行 arguments 并且我可以使用argparse ,则可以在 1 行代码中处理上述内容,但不幸的是,提示的数量之多阻止了命令行 arguments 成为一个可行的选项。

我熟悉库cmdclick ,但据我所知,它们都缺乏我想要的argparse功能,即验证用户输入。

总之,我正在寻找一个用户输入库,它可以验证输入并可以返回bool值,而无需我每次都实现转换。

如果您只需要检查“是/否”提示,则click使用click.confirm支持它:

if click.confirm("Do you want to do this thing?"):
    # ... do something here ....

click的一部分还有许多其他输入处理功能,这些功能都记录在文档的用户输入提示部分中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM