📅  最后修改于: 2023-12-03 15:19:26.281000             🧑  作者: Mango
PyInputPlus是一个Python模块,用于具有输入呈现要求的各种输入函数。它具有比内置的input()函数更多的功能,例如超时、限制用户回答的类型、限制用户回答的值域范围等。
使用pip可方便地安装PyInputPlus模块:
pip install pyinputplus
可以使用PyInputPlus的各种函数来获取带特定要求的数据输入。例如,要获取一个字符串作为用户输入,可以使用inputStr()函数:
import pyinputplus as pyip
answer = pyip.inputStr("Enter your name: ")
print(answer)
上面的代码将提示用户输入一个字符串,直到输入的字符串符合要求后,该字符串才被赋予变量answer,并被打印出来。
类似地,可以使用以下函数获取其他类型的数据:
例如,使用inputNum()函数来获取一个数字:
import pyinputplus as pyip
answer = pyip.inputNum("Enter a number: ")
print(answer)
使用inputChoice()函数来获取从一个列表中选择的选项:
import pyinputplus as pyip
answer = pyip.inputChoice(["rock", "paper", "scissors"])
print(answer)
使用inputYesNo()函数来获取一个"yes"或"no"的回答:
import pyinputplus as pyip
answer = pyip.inputYesNo("Do you like Python? ")
print(answer)
使用inputBool()函数来获取True或False的回答:
import pyinputplus as pyip
answer = pyip.inputBool("Are you a programmer? ")
print(answer)
使用inputDate()函数来获取日期:
import pyinputplus as pyip
answer = pyip.inputDate("Enter a date: ")
print(answer)
PyInputPlus还提供了其他参数可以进行更多配置,此处不再赘述。
除了上述输入函数之外,PyInputPlus还具有其他一些功能,例如输入验证和多次尝试预定义函数。
输入验证使您可以确保输入符合您的特定要求,例如输入作为电子邮件地址时是否包含"@"。您可以使用如下所示的addValidator()函数来对输入进行验证:
import pyinputplus as pyip
def blacklist(value):
if "spam" in value.lower():
raise Exception("Input contains the word 'spam'.")
answer = pyip.inputStr("Enter something: ", validators=[blacklist])
print(answer)
上述代码将确保输入的字符串中不包含"spam",如果字符串包含"spam",将引发一个异常。
另外,PyInputPlus使用以下retry()函数来实现对多次尝试的预定义功能:
import pyinputplus as pyip
answer = pyip.inputNum("Enter a number: ", retryLimit=3, default="N/A")
print(answer)
上述代码将最多尝试3次获取数字作为用户输入,如果用户输入无效,将返回字符串"N/A"。
总之,PyInputPlus是一个更强大和灵活的工具,可帮助您更轻松地获取所需的用户输入。