當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyInputPlus用法及代碼示例


PyInputPlus是一個 Python 模塊,用於獲取具有附加驗證函數的輸入。PyInputPlus將繼續詢問用戶輸入文本,直到他們輸入有效的輸入。

安裝:

安裝模塊 通過命令:

pip install PyInputPlus

以下是用於獲取各種類型輸入的函數:

  • inputNum():接受數值。它需要額外的參數‘min’, ‘max’、‘greaterThan’和‘lessThan’作為邊界。返回 int 或浮點數。
  • inputStr():接受字符串值。它提供了“blockRegexes”、‘timeout’, ‘limit’等函數。
  • inputInt():接受整數值。這還需要額外的參數‘min’, ‘max’、“greaterThan”和“lessThan”作為邊界。返回一個 int。
  • inputFloat():接受浮點數值。還需要額外的‘min’, ‘max’、“greaterThan”和“lessThan”參數。返回一個浮點數。
  • inputBool(): 接受布爾值。輸入可以是 ‘true’/'false' 和 'T'/'F' 的任何不區分大小寫的形式。返回一個布爾值。
  • inputChoice():獲取字符串列表並接受其中一個作為輸入。
  • inputMenu():與inputChoice()類似,但選項顯示為菜單中的項目。可以使用‘lettered’和‘numbered’參數來用字母或數字標記菜單項。
  • inputDate():接受 strftime 格式的日期。我們需要將此格式傳遞給‘formats’參數。返回 datetime.date 對象。
  • inputTime():接受 strftime 格式的時間。返回 datetime.time 對象。
  • inputDatetime():接受 strftime 格式的日期和時間。返回 datetime.datetime 對象。
  • inputYesNo():接受不區分大小寫的‘yes’/'no'或‘y’/'n'。返回‘yes’ 或‘no’。

一些用法示例:

1、字符串輸入:

inputStr()函數用於獲取字符串輸入。我們可以設置迅速的參數來定義輸入之前的提示。它類似於迅速的內置函數的參數input()。我們可以通過設置允許空白值作為有效輸入空白的參數為True。通過設置可以阻止某些輸入(即這些值無效)塊正則表達式參數的值作為我們想要無效的正則表達式模式。

Python3


import pyinputplus as pyip 
  
# string input with 
# additional parameters 
inp = pyip.inputStr(prompt="Enter a string... ",  
                    blank=True, blockRegexes = 'aeiou') 
  
print(inp)

輸出:

Enter a string... Hello
This response is invalid.
Enter a string... GFG
GFG

2. 整數輸入:

inputInt()函數用於獲取整數輸入。如果傳遞任何非整數輸入,該函數將重試,直到給出有效輸入、時間耗盡或超出最大嘗試次數。這默認參數用於在時間耗盡或嘗試次數超出時設置默認值。這限製參數用於指定用戶輸入有效輸入的最大嘗試次數,之後默認如果指定,則返回值,或者RetryLimitException否則會引發。

Python3


import pyinputplus as pyip 
  
# integer input with 
# limited number of tries 
inp = pyip.inputInt(prompt = "Enter an Integer... ",  
                    default = 0, limit = 3) 
  
print(inp)

輸出:

Enter an Integer... hello
'hello' is not an integer.
Enter an Integer... abc
'abc' is not an integer.
Enter an Integer... 
Blank values are not allowed.
0

超時參數用於設置自第一次提示以來的秒數,如果指定,則返回默認值,否則會引發 TimeoutException。

Python3


import pyinputplus as pyip 
  
# integer input with 
# limited time 
inp = pyip.inputInt(prompt = "Enter an Integer... ",  
                    default = 0, timeout = 2) 
  
print(inp)

輸出:

Enter an Integer... 4
0

min 和 max 參數可用於設置輸入的下限和上限。類似地,greaterThan 和 lessThan 參數用於設置外部邊界。

Python3


import pyinputplus as pyip 
  
# integer input with 
# specific bounds 
inp = pyip.inputInt(prompt = "Enter an Integer... ", 
                    min = 4, lessThan = 9 ) 
  
print(inp)

輸出:

Enter an Integer... 3
Number must be at minimum 4.
Enter an Integer... 12
Number must be less than 9.
Enter an Integer... 8
8

3. 菜單輸入:

inputMenu()函數用於顯示有效輸入選項的菜單。這有字母的或者編號的參數可以設置為True將項目分別標記為 A、B、C… 或 1、2、3…。默認標記是‘*'。

Python3


import pyinputplus as pyip 
  
# menu item input 
inp = pyip.inputMenu(['apple', 'banana', 'mango']) 
  
print(inp)

輸出:

Please select one of the following:
* apple
* banana
* mango
peach
'peach' is not a valid choice.
Please select one of the following:
* apple
* banana
* mango
mANgo
mango

4. 日期時間輸入:

inputDatetime()函數接受日期和時間之一時間傳遞給列表或元組中指定的格式格式範圍。

Python3


import pyinputplus as pyip 
  
# date and time input 
inp = pyip.inputDatetime('Enter date and time... ',  
                         formats = ('%m/%d/%y %H:%M:%S', 
                                    '%m.%d.%Y %H:%M:%S') ) 
  
print(inp)

輸出:

Enter date and time... 3.4.18 4:32:16
'3.4.18 4:32:16' is not a valid date and time.
Enter date and time... 3/4/18 4:32:16
2018-03-04 04:32:16


相關用法


注:本文由純淨天空篩選整理自cosine1509大神的英文原創作品 PyInputPlus module in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。