当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。