[英]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 成為一個可行的選項。
我熟悉庫cmd
和click
,但據我所知,它們都缺乏我想要的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.