2012-05-28 133 views
0

所以我在我的Python PY文件运行命令的Python/CMD命令

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

这将打开一个外壳

究竟是如何将我输入的东西到这个壳直接从我的Python脚本,从而绕过你的实际cmd.exe。我有一些DOSKEYs的设置,如打开maya程序的maya。我将如何添加一行代码,以我的python脚本,以便它加载这些别名外壳和输入我的命令直接

+0

你问两次同样的问题。使用管道时,而不是http://stackoverflow.com/questions/10741600/running-command-lines-within-your-python-script – jdi

回答

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 
+1

使用通信()方法,:更新原有的问题,不要让人民分裂工作直接访问fd ...或者,如果你不需要它,甚至不打开stdout。 – jdi