我打了以下有趣的錯誤: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