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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение вывода внешней программы, из скрипта на питоне 
:(
    Опции темы
srd
Дата 27.5.2005, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

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



Как из скрипта на питоне запустить внешнюю консольную утилиту (которая выводит результат в stdout), а потом прочитать её вывод?

ОС - Windows XP


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
skalex
Дата 27.5.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


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

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



Вероятно бред ... Но ничего другого не придумал ... smile
Код
import os
logf = '~log'
os.system("dir > " + logf)
f = open(logf, "r")
result = f.read()
f.close()
os.unlink(logf)
print result

PM   Вверх
Void
Дата 27.5.2005, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Можно пообщаться с процессом через pipe:
Код

import os

pipe = os.popen("dir")
print pipe.read()



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
srd
Дата 28.5.2005, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

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



Спасибо, как раз то, что надо smile

З.Ы.
Я в этом разделе всё время буду теперь тусоваться - начал осваивать Питон и пока не очень успешно.


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
srd
Дата 4.6.2005, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

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



А как через pipы не только читать из выходного потока, но и писать во входной?


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Void
Дата 4.6.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Цитата(srd @ 4.6.2005, 10:41)
А как через pipы не только читать из выходного потока, но и писать во входной?

Можно попробовать так:
Код

import os
ins, outs = os.popen2("myprog.exe")
# ins - stdin созданного процесса, outs - stdout
ins.write("some text")
print outs.read()



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
srd
Дата 6.6.2005, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

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



Спасибо, попробую...


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
aspolyakov
  Дата 11.1.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 13.9.2008
Где: Russia, Urals, Ye katerinburg

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



А как в popen2 убрать буферизацию??? Меня одолел уже этот вопрос

Это сообщение отредактировал(а) aspolyakov - 11.1.2009, 14:13
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




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


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

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