微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python和任意命令行选项

我正在编写一个基于插件的命令行程序,其中插件将提供任何我提供的附加function。

所以举个例子,假设我写了一个简单的脚本来parsing图像并存储它们,这就是我所做的。 然后,其他人可以编写一组脚本来操纵图像,将其脚本放入插件中。

插件将被加载,用户可以通过在命令行中指定其名称来访问该插件

脚本想要为用户提供其他选项并不罕见。 所以假设在某些年份,已经写了20个不同的插件

Bash:从文本文件VAR = VALUE格式中读取variables

linux bash – 自定义格式的parsingdate

使用awk来检查两个date之间

切割部分的string

如何将双引号string与embedded空格拆分batch file中的空格?

现在,所有作者都希望允许用户提供选项,所以主引擎应该把用户的选项传递给插件,以便它可以处理它们。

为了保持统一,他们可能会同意某些选项应该执行类似的操作。 像“-o名称”应该设置输出名称为“名称”。 然后,他们会执行自己的选项和东西,主引擎不知道(当然,它不应该知道插件是什么)

我正在使用已弃用的getopt模块,每当指定一个未定义的选项时,它都会引发exception。 我听说过optparse和argparse,但我不确定这些是否允许用户指定任何选项,而不会导致代码抛出exception。

我怎样才能做到这一点,所以我可以指定任何命令行选项?

LINUX – Shell脚本 – 从平面文件生成地图(键值对)

使用Windows命令行或Python查找具有模式的文本行

文字处理Windows没有额外的软件?

在Win XP上使用BufferedReader进行双重换行,但不能使用其他操作系统…相同的代码

我如何知道ldd如何解决依赖关系

argparse允许您使用parse_kNown_args方法部分解析参数列表,将正确解析的内容与其余参数的列表一起返回。

你想要的解决方案可能是将命令行参数视为一种在线流水线。 哪些选项也是选项的一部分。

command <global options> sub_command <sub_options> new_sub_command <new_sub_options>

每个命令都会将选项从sys.argv移出,直到找到一个不理解的选项,或者不能成为有效的选项,然后停止解析参数,完成它的工作,并将控制权返回给插件调度程序。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐