Python 和任意命令行选项

标签 python windows command-line-arguments

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

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

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

脚本希望为用户提供额外选项的情况并不少见。 所以假设在某些年内,已经编写了 20 个不同的插件。

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

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

我正在使用已弃用的 getopt 模块,每当我指定未定义的选项时它都会抛出异常。我听说过 optparse 和 argparse,但我不确定它们是否允许用户指定他想要的任何选项而代码不会抛出异常。

我怎样才能指定任何命令行选项?

最佳答案

argparse 允许您使用 parse_known_args 部分解析参数列表方法,返回正确解析的内容,以及剩余参数的列表。

关于Python 和任意命令行选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7108443/

相关文章:

Python Challenge Lvl 3 解释(警告剧透!)

python - 我们可以在 Python 中使用 C 代码吗?

python - Keras 中带有权重的自定义损失函数

bash - 在 bash 中,如何设置变量来包含可变数量的命令行参数?

python - 在 Windows 上使用 postman 命中 centos6 上存在的 django API

c# - 检测文件是否被操作系统阻止

Windows XP 不断将 .txt 文件类型附加到我的 PHP 文件

windows - 有没有办法在 Windows 10 上触发来自 Vala MSYS2 的弹出通知?

python - 对于命令行应用程序,什么是 python 替代 thor (ruby)?

c++ - 解析 C++ 中的命令行参数?