Найти - Пользователи
Полная версия: Работа с консолью
Начало » Python для новичков » Работа с консолью
1
afix
Здравствуйте! Как можно отправлять текст на консольный ввод программы и получать ее консольный вывод?
regall
>>> print raw_input('input something: ')
input something: HA!
HA!
>>>
afix
Извиняюсь, некорректно задал вопрос. Имелась в виду работа с консолью не своей программы
regall
Тогда вам сюда.
doza_and
Этот вопрос обсуждался в этом формуме, извините не умею цитировать там был код:
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()
это сваливание команд во входной поток и подбирание того что выпадет
afix
Спасибо, буду разбираться
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB