LINUX.ORG.RU

python, Pipe/popen, non-blocking


0

0

Как использовать stdout работающего приложения, чтобы считывать с него, например, ответы на команды и не блокироваться? import os (ci,co)=os.popen2("ftp") ci.write("help\n") print co.read()

Можно, конечно попробовать сделать функцию, которая через select проверяет наличие новых данных. Но select в win32 работает только для сокетов, а желательно чтобы было мультиплатформенно. И даже в случае если данные есть, read почему-то блокируется (я особо не проверял, может быть это была ошибка в коде).

★★★★

import os
(ci,co)=os.popen2("ftp")
ci.write("help\n")
print co.read()

Davidov ★★★★
() автор топика

В Питоне вроде бы есть в библиотеке классы для работы с ftp, если интересует именно ftp.

Kpoxman ★★
()
Ответ на: комментарий от DenOk

Хм, буду читать :) Не совсем понял, при чём тут internet.

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