我打了以下有趣的错误: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
是False
。
我应该将其更改为:
if options.number is not None:
或一些更复杂?
这是否改变了工作? – 2012-01-05 11:41:10
@MarceloCantos是的,我问,因为该应用程序可能看起来不专业。 – xralf 2012-01-05 11:54:31
我为了后代保留了旧作业的印刷品。在几个函数上(比较两个或三个工作流程图),需要几百行来比较两个日期,如果一个先于另一个,则会产生错误。 “不专业”(或“复杂”)的概念不应该包含在其中。使用最简单的工作,时间段。请注意,我不是在批评这个问题。这是一个合理的问题。但是当别人担心他们的代码不够复杂时,我会感到紧张。 – 2012-01-05 21:51:05