使用Subprocess.call我想从另一个程序运行可执行文件

时间:2014-12-31 15:28:21

标签: python

我有一个命令行可执行文件,我想用subprocess.call调用。对应用程序的调用本身有效。

subprocess.call(['filepathIEF.exe'], shell=True)。这部分工作正常。

我想自动执行此命令:

IEF.exe --image [image path] -- search [type] --output [output path]

当我把它分解成碎片时,IEF.exe工作正常,然后当我添加

时出现-1错误
'--image', 'Filepathofimage'], shell=True)

然后我尝试添加这个CLI的每个部分并收到错误1,然后,我尝试将整行放在一个''并且我收到了错误1.我只在2个月前开始使用Python而且我还有很多东西需要学习。我也尝试了Popen并且它返回了

的错误

在CLI中运行此命令时,它会在我命名为输出的文件中生成一组文件。我真的可以在这方面使用一些帮助。我确定我只是错过了一些简单的东西,但我没有看到它。 感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

而不是subprocess.call,Popen命令可以正常工作。

command = ['c:\ Program Files(x86)\ Internet Evidence Finder \ IEF.exe',' - image','C:\ Users \ examiner \ Documents \ IEFTest \ UbuntuTest.001',' - -search','quick',' - output','c:\ Users \ examiner \ Documents \ IEFTest \ CommandLineTest \ UbuntuTest4']

subprocess.Popen(command,shell = True,stdout = subprocess.PIPE)

答案 1 :(得分:0)

取出逗号,括号和内部引号。 shell=True表示您将命令和参数作为字符串而不是列表传递。

答案 2 :(得分:0)

删除shell=True。这是不必要的。

subprocess.call(['filepath/IEF.exe', '--image', image_filename])