如何获得docopt默认参数时,脚本加载为模块



我正在处理一个有多个作者的大型项目,所以我尽量避免做太多的更改。我有一个脚本使用docopt传递选项,并将其中一些设置为默认值。

我通过将其作为模块导入从该脚本中加载了一个类,但是当我调用一个方法时,它失败了,因为它期望通过docopt设置一个默认选项,而docopt有很多默认选项。是否有一种方法可以从docopt中引入默认选项?

当我几乎写完这篇文章时,我意识到有一个相当简单的解决方案。

import script
from script import SomeClass
default_args = docopt(script.__doc__, ['--required-opt', 'dummy-value'])
args = {'foo': 'bar'}
default_args.update(args)
SomeClass.some_classmethod(default_args)

最新更新