Python批处理参数替换问题

时间:2016-02-22 14:29:15

标签: windows python-3.x batch-file subprocess

我有一行命令可以在CMD中运行,用一些参数填充程序。命令如下:

FOR /L %I in (16,1,20) DO "C:\Path\To\Program\program_executable.exe" --do-things="C:\Path\this.item|C:\Path\that%I.item|Text%I"

问题是我试图在Python 3.X中实现相同的功能,但我无法正确传递参数信息(--do-things =“C:\ Path \ this.item | C: \路径\是%I.item |文字%I“)。我已尝试使用subprocess.Popensystem.call并同时使用可执行文件+参数列表和所有行的字符串:

['C:\\Path\\To\\Program\\program_executable.exe', '--do-things="C:\\Path\\this.item|C:\\Path\\that16.item|Text16"]

r'C:\\Path\\To\\Program\\program_executable.exe --do-things="C:\\Path\\this.item|C:\\Path\\that16.item|Text16'

我唯一能做的就是启动程序(因为它调用命令),但它似乎没有将args传递给它。我认为问题在于args需要“”内部,而Python似乎无法正确发送它们,尽管我已经尝试过逃避它们以防万一。

它应该启动的CMD命令应该是这样的:

C:\>"C:\Path\To\Program\program_executable.exe" --do-things="C:\Path\this.item|C:\Path\that20.item|Text20"

知道如何从Python 3.X实现这一目标吗?

0 个答案:

没有答案