Python速成笔记——进阶(输入验证PyInputPlus模块)

输入验证

输入验证代码用于检查用户输入值,通常执行验证的方式就是要求用户反复输入,直到输入有效的文本,但是为程序的每个input()调用编写输入验证代码是一个十分繁琐且无聊的过程,很多时候会遗漏很多情况,并允许无效输入通过验证,效率很低。第三方模块PyInputPlus可以有效的解决这些问题。

PyInputPlus模块

PyInputPlus模块不是Python标准库的一部分,如需安装可以在命令行运行pip install --user pyinputplus

PyInputPlus模块中有几种不同类型的输入函数。

PyInputPlus模块函数
函数名称 功能
inputStr() 内置的input()函数,但具有PyInputPlus的一般功能
inputNum() 确保用户输入数字,返回int或float值
inputInt() 确保用户输入整数
inputFloat() 确保用户输入浮点数
inputChoice() 确保用户输入系统提供的选项之一
inputMenu() 确保用户输入系统提供的选项之一,并提供带有一个数字或字母选项的菜单
inputDatatime() 确保用户输入日期和时间
inputData() 确保用户输入日期
inputTime() 确保用户输入时间
inputMouth() 确保用户输入月份
inputDayOfMouth() 确保用户输入月份中的一天
inputDayOfWeek() 确保用户输入星期

inputIP()

用户输入 IPv4 或 IPv6 地址

inputYesNo() 确保用户输入yes或no响应

inputRegex()

确保用户输入与提供的正则表达式相匹配

inputRegexStr()

提示用户输入正则表达式字符串

inputURL()

确保用户输入 URL(网页地址)
inputBool() 确保用户输入True或False响应,并返回一个布尔值
inputEmail() 确保用户输入有效的用户地址
inputFilepath() 确保用户输入有效的文件地址和文件名
inputPassword() 内置的input()函数,但是在用户输入时显示*字符
inputCustom() 可传入自定义的验证函数

关键字参数(可选的)

  • prompt:用于输入提示
  • min :输入不能小于min的值;
  • max:输入不能大于max的值;
  • greaterThan:输入必须大于greaterThan的值;
  • lessThan:输入必须小于lessThan的值;
  • blank : 默认情况下,不允许输入空格,除非把blank设置为True;
  • limit:函数在放弃之前尝试接收多少次有效输入;
  • timeout:确定用户在多少秒之内必须提供有效输入;
  • default:使用该关键字参数时,当输入失效时函数返回default定义的值,不引发异常;
  • allowRegexes:利用正则表达式字符串列表确定接收的有效内容;
  • blockRegexes:利用正则表达式字符串列表确定拒绝的有效内容;
  • allowRegexes的优先级大于blockRegexes;
import pyinputplus as pyIn

#输入值大于等于4 min
input_txt = pyIn.inputNum('Enter num: ', min = 4)
print('Enter number: %s.' % (input_txt))

#输入值小于等于8 max
input_txt = pyIn.inputNum('Enter num: ', max = 8)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想家LEI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值