如何自定义PyInputPlus显示的错误消息



如何在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")])

相关内容

  • 没有找到相关文章

最新更新