【发布时间】:2011-10-29 19:44:27
【问题描述】:
我正在编写一个基于命令行插件的程序,其中插件将在我提供的任何内容之上提供额外的功能。
例如,假设我编写了一个简单的脚本来解析图像并存储它们,这就是我所做的一切。然后其他人可以编写一组脚本来操作图像,将他的脚本放入插件中。
插件将被加载,用户可以通过在命令行中指定插件名称来访问插件。
脚本想要为用户提供额外选项的情况并不少见。 所以假设在某些年里,已经编写了 20 个不同的插件。
现在,所有作者都希望允许用户提供选项,因此主引擎应该获取用户的选项并将它们传递给插件,以便它可以随心所欲地处理它们。
为了保持统一,他们可能会同意某些选项应该执行类似的操作。像“-o name”应该将输出名称设置为“name”。然后他们会去实现自己的选项和东西,主引擎不知道(当然,它不应该知道插件做什么)
我正在使用已弃用的 getopt 模块,每当我指定未定义的选项时,它都会抛出异常。我听说过 optparse 和 argparse,但我不确定它们是否允许用户指定他想要的任何选项,而代码不会引发异常。
我怎样才能指定任何命令行选项?
【问题讨论】:
标签: python windows command-line-arguments