python – 使用整数参数的Optparse
作者:互联网
我遇到了以下有趣的错误:
parser.add_option("-n", "--number", metavar="NUMBER", type="int",
help="number is NUMBER")
(options, args) = parser.parse_args()
if options.number: # User added a number
do something
exit(0)
过了一会儿,我发现如果数字为0,我的应用程序不起作用,但这应该是有效数字(应该是> = 0).问题是0为假.
我应该把它改成:
if options.number is not None:
还是更复杂的东西?
解决方法:
在Python中,整数可以用作布尔值,而任何非零都可以解析为True,0到False.因此,如果要检查是否设置了选项–number,则必须检查None(这意味着未设置该选项).
所以:
if options.number is not None:
很好.
标签:python,optparse 来源: https://codeday.me/bug/20190530/1184958.html