我试图将参数发送到批处理文件。
我有一个批处理文件HelloWorld.bat,它要求在脚本的不同点上总共输入4个。我试过使用subprocess.Popen、subprocess.call和os.system,但未能传入参数。这就是我目前所拥有的:
p = subprocess.Popen(shlex.split("cmd"), shell = True, stdin = subprocess.PIPE)
p.communicate(
"cd " + filepath + "\n" +
"HelloWorld.bat\n" +
"arg1\n" +
"arg2\n" +
"arg3\n" +
"arg4\n"
)
当我运行这段代码时,它说的是错误的命令语法。我是否可以将参数传递给将在cmd中运行的批处理文件?
谢谢!
对于Windows,您不需要
shell=True
,只需按如下顺序传递参数:在documentation中有很多关于子流程模块的信息,我建议您仔细阅读它,因为如果不小心,您可以轻松地对系统进行软管连接。
相关问题 更多 >
编程相关推荐