如何从python脚本中将参数传递给cmd.exe?

时间:2012-08-28 13:54:48

标签: python subprocess command-line-arguments cmd

我希望能够从Python脚本和带参数的特定命令运行cmd.exe,但我似乎无法使其正常工作。

我试过了

cmdL = r"C:\WINDOWS\system32\cmd.exe"
schTasks = "schtasks.exe"
#run the schtasks.exe
os.system(cmdL + schTasks)

但是dos窗口出现然后很快消失。

我做错了什么?

由于

2 个答案:

答案 0 :(得分:1)

从Python脚本执行流程的现代方法是使用subprocess模块:

import subprocess
subprocess.call(["schtasks.exe"])

您也可以传递参数,例如:

subprocess.call(["ls", "-l"])

这意味着您无需使用cmd.exe。 Python将根据需要使用给定的参数执行给定的可执行文件。

答案 1 :(得分:0)

您忘记了cmd.exe与参数之间的空格。

os.system("%s %s" % (cmdL, schTasks))

尽管如此,通过subprocess更好的方式就像其他答案一样。