我有一行命令可以在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.Popen
,system.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实现这一目标吗?