簡體   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