2010-01-15 58 views
0

從Python文檔:在optparse模塊 - 命令行選項解析器中,如何確認是否未提供選項?

「Option.dest:如果該選項的行爲暗示寫作或修改某個值,這告訴optparse在哪裏寫它:DEST名稱的選項的屬性對象是optparse基礎,因爲它解析命令行。」

我們可以對屬性(dest)的名稱進行一些檢查以檢查它是否提供了值?比如說,當我沒有爲CLI提供任何值時,我想執行一些操作來確定它的值,因爲我沒有固定的默認值。

檢查「無」不起作用。

+1

爲什麼不設置'add_option(dest ='x',...,default = None)'如果options.x是None:'工作? –

+0

哎呀!我的錯。我試圖直接檢查x而不是options.x。感謝指點! – Shefali

回答

1

對於此類選項,您可以使用默認值None,這些選項不能在命令行中輸入。然後你可以檢查,如

if opts.optional_value is None: 
    # action for option not given 
else: 
    # use value from command line