编程语言
首页 > 编程语言> > python – 使用整数参数的Optparse

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