10-小结
8.4 小结
虽然很容易忘记编写输入验证代码,但是没有它,你的程序几乎会存在bug。你期望用户输入的值和他们实际输入的值可能完全不同,你的程序必须足够健壮,能处理这些特殊情况。可以使用正则表达式来创建自己的输入验证代码,但在常见情况下,使用现有模块(例如 PyInputPlus
)会更容易。你可以利用 import pyinputplus as pyip
导入该模块,以便在调用该模块的函数时输入一个较短的名称。
PyInputPlus
具有用于处理各种输入的函数,包括处理字符串、数字、日期、 yes/no
、 True/False
、电子邮件和文件的函数。尽管 input()
函数总是返回字符串,但是这些函数会以适当的数据类型返回值。 inputChoice()
函数允许你选择几个预选项之一,而 inputMenu()
函数还添加数字或字母选项,以便快速选择。
所有这些函数均具有以下标准功能:去除两侧的空格,利用 timeout
和 limit
关键字参数设置超时和尝试次数限制,以及将正则表达式字符串列表传递给 allowRegexes
或 blockRegexes
,从而允许或排除特定响应。你不再需要编写冗长的 while
循环来检查有效输入并提示用户。
如果没有一个 PyInputPlus
模块的函数可以满足你的需要,但是你仍然希望使用 PyInputPlus
提供的其他功能,那么可以调用 inputCustom()
,并向 PyInputPlus
传入你的自定义验证函数。 PyInputPlus
联机文档完整列出了 PyInputPlus
的函数和其他功能,内容远远超出本章所述。学会使用这个模块,你就不必自己编写和调试太多的代码。
既然你已经拥有处理和验证文本的专业知识,那么就该学习如何读取和写入计算机硬盘驱动器上的文件了,这些知识将在下一章中介绍。