【问题标题】:Python/CMD commandPython/CMD 命令
【发布时间】:2012-05-28 14:25:13
【问题描述】:

所以我在我的 python py 文件中运行一个命令

myNewShell = os.system('start "%s" /d "%s" cmd /f:on  /t:0A /k "W:\\Desktop\\alias.bat"' % (myShot, myWorkDir))

这会打开一个外壳

我如何直接从我的 python 脚本向这个 shell 输入一些东西,从而绕过你的实际 cmd.exe。我设置了一堆DOSKEY,例如打开maya程序的maya。如何在我的 python 脚本中添加一行代码,以便它使用这些别名加载 shell 并直接输入我的命令

【问题讨论】:

标签: python cmd


【解决方案1】:

看看强大实用的subprocess模块

然后你可以做这样的代码

import subprocess
pro = subprocess.Popen("cmd", stdout=subprocess.PIPE, stdin=subprocess.PIPE)
pro.stdin.write("mybat.bat\n")
pro.stdin.write("myother.bat\n")
pro.stdin.write("start mysillyprogram\n")
pro.stdin.flush()
pro.terminate() # kill the parent 

【讨论】:

  • 在使用 PIPE 时使用communicate() 方法,而不是直接访问 fd... 或者,如果不需要,甚至不要在此处打开 stdout。
猜你喜欢
  • 2018-07-22
  • 1970-01-01
  • 2017-11-21
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 2011-07-12
  • 1970-01-01
相关资源
最近更新 更多