我有一个命令行可执行文件,我想用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中运行此命令时,它会在我命名为输出的文件中生成一组文件。我真的可以在这方面使用一些帮助。我确定我只是错过了一些简单的东西,但我没有看到它。 感谢您的帮助!
答案 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])