从python调用外部程序并获取其输出

Sag*_*gar 5 python subprocess call

我想.exe从Python 调用一个用C++编写并编译的程序().可执行文件将两个文件作为输入并返回分数.

我需要为多个文件执行此操作.所以,我想在python中编写一个小脚本,它循环遍历多个文件,将它们传递给可执行文件并获取值.

现在,我已经完成了我的搜索,我知道SWIG和Boost :: Python可能是一个选项,但我试图找到是否有更简单的方法.我不需要'扩展'C++程序.我只是想从命令行调用它并获取返回的数字.

agf*_*agf 5

要运行外部程序并获取其输出,请使用subprocess.check_outputPython 2.7+.来自文档的示例:

>>> subprocess.check_output(["ls", "-l", "/dev/null"])
'crw-rw-rw- 1 root root 1, 3 Oct 18  2007 /dev/null\n'
Run Code Online (Sandbox Code Playgroud)

check_call 只返回程序的返回码,而不是输出.