我有以下示例设置:
|-- main_script.py
`-- module
|-- __init__.py
`-- submodule.py
主脚本的内容如下:
import optparse
import module
parser = optparse.OptionParser()
group = optparse.OptionGroup("submodules options")
group.add_option("","--main_script.bar", dest="bar", action="store_true")
parser.add_option_group(group)
opts,args = parser.parse_args()
if opts.bar:
print ("Bar")
以下是submodule.py文件的内容:
import optparse
parser = optparse.OptionParser()
group = optparse.OptionGroup(parser, "submodules options")
group.add_option("","--module.submodule.foo", dest="foo", action="store_true")
parser.add_option_group(group)
opts,args = parser.parse_args()
if opts.foo:
print ("Foo")
由于主脚本导入了子模块,所以从子模块中调用了parse_args。有没有办法将这些OptionParser实例合并起来,并在存在选项冲突时引发错误?