subprocess python将文件作为参数传递

时间:2018-04-26 11:57:30

标签: python string arguments subprocess

我必须在python脚本中运行一个简单的exernal程序,传递一些参数和一些文件。 我在脚本之外尝试了,它正在正确地工作。 问题是当我在python脚本中运行时,我不知道为什么外部程序无法正常工作。 我认为问题在于我如何在参数中写入文件的名称。我尝试了各种不同的组合。

我正在使用子进程,Python 3.6和Windows

> import subprocess
> 
> software=str(r"C:\Program Files\aa\bin\aa.exe")
> 
> c=subprocess.call([software,'-db', '–if "File_assembly.cxm"', '–of
> "File_assembly_dec.cxm"'], shell=True)

非常感谢任何建议。 我被摧毁了! 干杯, 卡罗

1 个答案:

答案 0 :(得分:0)

使用子进程调用,您可以使用shell = True作为字符串传递命令:

subprocess.call(software + ' -db –if "File_assembly.cxm" –of "File_assembly_dec.cxm"', shell=True)
如果shell = False,则

或不作为列表:

c=subprocess.call([software,'-db', '–if', '"File_assembly.cxm"', '–of', '"File_assembly_dec.cxm"'])

有关详细信息,请参阅文档:subprocess.call()