LINUX.ORG.RU

Python, Pexpect, twisted spawnprocess и все все все


0

0

Привет! Уже давно мучаюсь с этим вопросом, я конечно не профи и поэтому прощу совета если не туда попал то хоть подскажите где найти спасение)))

Нужно чтоб прога на питоне запускала процесс(консоль проги) и работала с ним так как-будто человек пишет в него команды и получала вывод и тд то есть интерактивно!

popen() явно не годиться с ним можно запустить что-то типа uname и всё((( Я пробовал http://pexpect.sourceforge.net/ всё супер, но реализовать до конца на нём нельзя( проблемы с восприятием вывода

http://twisted.sourceforge.net/TwistedDocs-1.1.1/howto/process.html не могу заставить работать с чем-то кроме прог типа wc, sort, ls чем это объяснить???

Буду БЛАГОДАРЕН за советы!


Ответ на: комментарий от anonymous

Я уже думал что никто тут мне не поможет)

Pexpect я использую так

def Pspawn(self, data): pdata = data i = 0 stra, strb = "", "" while i<1: try: c.expect(".+", timeout=1) stra = stra + c.after except: i = 2 stra = stra.replace('\x1b', " ")+term stra = stra.replace('\x00', " ")+term print "Stra", stra то есть вытаскиваю по одному символу так как через regex не выходит но он выдаёт испорченный вывод то есть не совсем то что выводит прога на экран (возможно из-за каких-то символов)

Заранее Спасибо)))

Den0k
()
Ответ на: комментарий от Den0k

дааа... с форматированием яя ещё не свыкся, сорри

Pexpect я использую так

def Pspawn(self, data):

        
        pdata = data
        

        i = 0

        stra, strb = "", ""

        
        
        
        while i<1:

            try:

                c.expect(".+", timeout=1)

                stra= stra + c.after

                

            except:

                i = 2

                
                    
        stra = stra.replace('\x1b', " ")+term

        stra = stra.replace('\x00', " ")+term

        print "Stra1", stra
        
        
      
то есть вытаскиваю по одному символу так как через regex не выходит но он выдаёт испорченный вывод то есть не совсем то что выводит прога на экран (возможно из-за каких-то символов) 

 

Заранее Спасибо)))
        
        
             

Den0k
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.