如何从 python 脚本中将参数传递给 cmd.exe?
Posted
技术标签:
【中文标题】如何从 python 脚本中将参数传递给 cmd.exe?【英文标题】:How to pass argument to cmd.exe in from python script? 【发布时间】:2012-08-23 01:16:09 【问题描述】:我希望能够从 Python 脚本和带有参数的特定命令运行 cmd.exe,但我似乎无法让它工作。
我试过了
cmdL = r"C:\WINDOWS\system32\cmd.exe"
schTasks = "schtasks.exe"
#run the schtasks.exe
os.system(cmdL + schTasks)
但是dos窗口出现然后很快消失。
我做错了什么?
谢谢
【问题讨论】:
为什么你认为它应该存在? 您应该使用subprocess
模块。见:***.com/a/912847/1224443
我对windows了解不多,但cmd.exe
和schtasks.exe
之间似乎应该有一个空格。另外,您可能应该查看subprocess
。
因为我只将cmdL变量添加到os.system时,它并没有消失。
【参考方案1】:
从 Python 脚本执行进程的现代方式是使用 subprocess 模块:
import subprocess
subprocess.call(["schtasks.exe"])
你也可以传递参数,例如:
subprocess.call(["ls", "-l"])
这意味着您不需要使用cmd.exe
。 Python 将根据需要使用给定的参数执行给定的可执行文件。
【讨论】:
【参考方案2】:您忘记了cmd.exe
和参数之间的空格。
os.system("%s %s" % (cmdL, schTasks))
尽管如此,通过subprocess
像其他答案一样更好。
【讨论】:
以上是关于如何从 python 脚本中将参数传递给 cmd.exe?的主要内容,如果未能解决你的问题,请参考以下文章
在 Scrapy python 中将参数传递给 process.crawl