2012-05-28 2 views
0

Так я бег команды в моем файле р питонаPython/CMD команда

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

Это открывает оболочку

Как точно бы я вход что-то в эту оболочку непосредственно из моего питона сценария, таким образом, в обход вашего фактического cmd.exe. У меня есть куча DOSKEY, созданная, например майя, которая открывает программу майи. Как бы я добавить строку кода в мой питон скрипт, так что он загружает оболочку с этими псевдонимами и вводит свою команду непосредственно

+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

Используйте метод communication() при использовании PIPE вместо доступ к fd напрямую ... Или, даже не открывайте stdout здесь, если вам это не нужно. – jdi

Смежные вопросы