从python调用外部程序并获取其输出 我想调用一个程序( .exe < /COD>),它是用C++编写的,从Python编译的。可执行文件接受两个文件作为输入,并返回一个分数
我需要对多个文件执行此操作。因此,我想用python编写一个小脚本,它在多个文件上循环,将它们传递给可执行文件并返回值 现在,我已经完成了我的搜索,我知道SWIG和Boost::Python可能是一个选项,但我试图找到是否有更简单的方法。我不需要“扩展”C++程序。我只想像从命令行调用一样调用它,并获取返回的号码 你可以用它从python调用外部程序并获取其输出 我想调用一个程序( .exe < /COD>),它是用C++编写的,从Python编译的。可执行文件接受两个文件作为输入,并返回一个分数,python,call,subprocess,Python,Call,Subprocess,我需要对多个文件执行此操作。因此,我想用python编写一个小脚本,它在多个文件上循环,将它们传递给可执行文件并返回值 现在,我已经完成了我的搜索,我知道SWIG和Boost::Python可能是一个选项,但我试图找到是否有更简单的方法。我不需要“扩展”C++程序。我只想像从命令行调用一样调用它,并获取返回的号码 你可以用它 result = subprocess.check_output(['your_program.exe', 'arg1', 'arg2']) 要运行外部程序并获得其输出,
result = subprocess.check_output(['your_program.exe', 'arg1', 'arg2'])
要运行外部程序并获得其输出,请在Python 2.7+上使用。文档中的示例:
>>> subprocess.check_output(["ls", "-l", "/dev/null"])
'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
check\u call
只返回程序的返回码,而不是输出。试试这个问题:@TorelTwiddler这不是他想做的——这个答案只返回返回码,而不是程序的输出。正确的副本是