有什么方法可以知道 Python 中的单独程序可用的命令行选项吗?

Is there any way to know the command-line options available for a separate program from Python?

我对 python 的 subprocessos 模块比较陌生。因此,我能够像 运行 bccat 命令那样使用 python 执行流程并放入数据在 stdin 中并从 stdout.

中获取结果

现在我想首先知道像cat这样的进程通过python代码接受什么标志(如果是possible)。

然后我想执行一个设置了一些标志的特定命令。

我用谷歌搜索了这两件事,似乎我找到了第二个的解决方案,但有多种方法。所以,如果有人知道如何做这些事情并以某种标准的方式去做,我们将不胜感激。

在进程的上下文中,这些标志称为参数,因此也称为参数向量 argv。他们的解释是 100% 取决于调用的程序。换句话说,您必须阅读要调用的程序的联机帮助页或其他文档。

但有一个警告:如果您不直接调用程序而是通过 shell,那么 shell 就是正在启动的实际进程。然后它还解释通配符。例如,如果你 运行 cat 带有参数向量 ['*'],它将输出名为 * 的文件的内容(如果存在)或错误(如果不存在) .如果 运行 /bin/sh['-c', 'cat *'],shell 将首先将 * 解析为当前目录中的所有条目,然后将这些作为单独的参数传递给 cat.