當模塊optparse
用於獲取所有默認值,然後我就可以得到所有默認值所有命令行參數如下:的Python:如何從argparse
import optparse
if __name__ == '__main__':
parser = optparse.OptionParser(usage='pokus --help')
parser.add_option("-d", "--debug", action='store_true', dest="debug",
default=False, help='Enabling debugging.')
options, args = parser.parse_args()
print(parser.defaults)
由於optparse
被棄用這是明智的改寫您的代碼使用模塊。但是我找不到任何方式如何獲得的加入解析器對象的所有命令行參數所有默認值:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(usage='pokus --help')
parser.add_argument("-d", "--debug", action='store_true', dest='debug',
default=False, help='Enabling debugging.')
args = parser.parse_args()
# <---- How to get default values for all arguments here?
# Not: vars(args)
我想,當我運行程序與(./app.py -d
)來獲取所有缺省值或不帶任何命令在線參數(./app.py
)。
的默認值設置的'當省略開關時,args對象。你需要訪問這些用於其他任何東西嗎? –
所以在你的例子中,當你不用'-d'運行程序時,'args.debug'被設置爲'False'。當你用'-d'運行時,你需要知道默認的用法是'False'? –
你有沒有考慮過使用['docopt'](http://docopt.org/)? – pylang