如何在python中自定义PyInputPlus显示的错误消息?我尝试了很多方法,但都做不到。
import pyinputplus as pyip
number = pyip.inputNum("Enter your phone number : ",
min=1000000000,
max=9999999999)
number
我想将错误消息打印为请输入一个有效的10位电话号码有什么办法吗?我尝试使用"allowRegexes和blockRegexes">但无法理解。
如果您正在将其用于现实世界中的项目,我建议您使用python本身的input
,那么这个库似乎没有很好的文档和维护。这可能会在未来的代码中带来很多奇怪的错误。
但是,要回答您的问题,您可以使用regex和参数blockRegexes来完成。如果您无法理解,这将是一个regex问题,而不是python问题。
从这个网站你可以学到很多关于regex的知识,我建议你,regex是一个非常重要的工具。关于你的问题,根据文档:
blocklistRegexes
(Sequence,None(:正则表达式str或(regex_str, error_msg_str)
元组,如果匹配,将显式失败验证。
因此,在您的情况下,元组中的第一个项应该是一个正则表达式,用于阻止所有大于或小于10个整数字符的内容:
^d{10}$
这个正则表达式的完整解释可以在这里找到
图中的第二项应该是错误发生时要显示的字符串:
"请输入一个有效的10位电话号码";
所以你的代码应该是这样的:
number = pyip.inputNum("Enter your phone number : ",
min=1000000000,
max=9999999999,
blockRegexes=[(r"^d{10}$","please enter a valid 10 digit phone number")])