这是一个关于python中argparse的问题,它可能很简单
import argparse
parser=argparse.ArgumentParser()
parser.add_argument('--lib')
args = parser.parse_known_args()
if args.lib == 'lib':
print 'aa'
这可行,但我不想调用 args.lib,而是只想说“lib”(我不想输入更多内容),有没有办法将所有 args 变量导出到模块之外(即更改范围)。这样我就可以直接检查lib的值,而不是通过在前面指定模块的名称
PS:我有很多变量,我不想重新分配每一个变量
首先,我建议使用args
说明符。哪里就很清楚了lib
是来自。也就是说,如果您发现自己经常引用某个参数,则可以将其指定为更短的名称:
lib = args.lib
有一种方法可以将所有属性一次转储到全局命名空间中,但它不适用于函数的本地命名空间,并且使用globals
没有充分的理由是一个坏主意。我不会考虑保存一些实例args.
是一个足够好的理由。也就是说,这里是:
globals().update(args.__dict__)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)