python - argparse 可以将参数转发给其他 python 文件吗?
问题描述
我正在使用 argparse 在 Python 中编写一个包含数百个参数和子模块的 CLI。出于显而易见的原因,我不希望这些参数都堆放在同一个 python 文件中。相反,我更愿意委托给其他子模块,让用户随意添加他们自己的子模块,这些子模块会被顶层自动检测到argparser
。
例如,我们可能有一个如下所示的目录:
- main.py
- foo.py
- bar.py
- baz/foo.py
...
此 CLI 的一个有效调用是:
./main.py foo --help
这将打开argparse
模块的帮助窗格foo.py
另一个例子是:
./main.py baz foo --help
这将打开argparse
模块的帮助窗格baz/foo.py
。
最后:
./main.py --help
会打印出类似的东西:
Options are:
foo
bar
baz
如果您还没有猜到,可以在 中看到这种模式kubectl
,它似乎很好地组织了过多的选项。
像这样的图书馆是否存在,还是我需要自己动手?
解决方案
推荐阅读
- python - 替换字母的Python函数
- javascript - 错误:无法读取未定义的属性“名称”?
- ios - “[Course]”类型的 SwfitUI-Value 没有“已识别”成员
- angular - ionic - 手动添加的 js 文件没有被编译
- observable - 使服务可观察等待直到收到来自其他可观察的响应 - 角度 9
- javascript - REGEX替换功能不适用于Apps脚本中字符串末尾的换行符
- android - ViewModel,带有 Firestore 的 LiveData 导致 StackOverflowError:堆栈大小 8MB
- java - Firebase 查询 startAt()
- flutter - 关闭键盘时 Flutter TextFormFields 清除
- django - Django自定义用户密码没有被散列