Python和任意命令行选项

我正在编写一个基于命令行插件的程序,其中插件将在我提供的任何内容之外提供额外的功能.

例如,假设我编写了一个简单的脚本来解析图像并存储它们,这就是我所做的一切.然后其他人可以编写一组脚本来操作图像,将他的脚本放在一个插件中.

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

脚本想要为用户提供其他选项的情况并不少见.
因此,假设在某些年份,已经编写了20个不同的插件.

现在,所有作者都希望允许用户提供选项,因此主引擎应该采用用户的选项并将它们传递给插件,以便它可以根据需要处理它们.

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

我正在使用不推荐使用的getopt模块,每当我指定一个未定义的选项时它就会抛出异常.我听说过optparse和argparse,但我不确定这些是否允许用户指定他想要的任何选项而不会抛出异常代码.

我该怎么做才能指定任何命令行选项?

最佳答案 argparse允许您使用
parse_known_args方法部分解析参数列表,返回正确解析的内容以及其余参数的列表.

点赞