当模块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