Форум сайта python.su
Здравствуйте! Как можно отправлять текст на консольный ввод программы и получать ее консольный вывод?
Офлайн
>>> print raw_input('input something: ')
input something: HA!
HA!
>>>
Офлайн
Извиняюсь, некорректно задал вопрос. Имелась в виду работа с консолью не своей программы
Офлайн
Тогда вам сюда.
Офлайн
Этот вопрос обсуждался в этом формуме, извините не умею цитировать там был код:
import subprocess as sp
import time
from threading import Thread
class Tcmd(Thread):
def __init__ (self):
Thread.__init__(self)
self.evt=threading.Event()
def run(self):
self.c=sp.Popen(["cmd"],stdin=sp.PIPE,stdout=sp.PIPE)
self.evt.set()
while 1:
a=self.c.stdout.readline()
if not a:
break
print("send:"+a)
def put(self,cmd):
self.c.stdin.write(cmd)
obj=Tcmd()
obj.start()
obj.evt.wait()
obj.put("dir\n")
time.sleep(2)
obj.put("echo\n")
time.sleep(2)
obj.put("exit\n")
obj.join()
Офлайн
Спасибо, буду разбираться
Офлайн