Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интерактивный подпроцесс в Python 
:(
    Опции темы
keph
Дата 15.2.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Есть утилита, которую нужно запустить из пайтон-скрипта (запустить - не проблема), но она работает в интерактивном режиме, т.е. мне надо передать несколько раз определённые символы и команды. Пробовал через subprocess и communicate, но communicate, как-то не совсем правильно передаёт несколько команд. Ниже код. Посоветуйте, что делать, может нужно использовать что-то другое.

Код:

Код

import subprocess
a = subprocess.Popen('robtest', bufsize=1024, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell = True)
print a.communicate('1\nm s1 p1\nq\n2\n')


Вызов communicate несколько раз не катит, так как он, судя по всему, ожидает завершения работы утилиты и следовательно программа висит.
PM MAIL   Вверх
MAKCim
Дата 16.2.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



os.popen()


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0888 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.