Использование sys.stdin в select.select в Windows

Возможный дубликат:
Может ли () использоваться с файлами в Python под Windows?

В UNIX я могу передать sys.stdin для select.select в Python. Я select.select сделать это в Windows, но select.select в Python на Windows не позволит этого.

Чтобы более точно описать, что я делаю, см. Https://github.com/eldarion/gondor-client/blob/ccbf9d4b61ecbc2f66f510b993eb5fba0d81c09/gondor/run.py .

Функция unix_run_poll – это то, что я пытаюсь выполнить в Windows. Основная идея заключается в том, что у меня есть соединение сокетов с сервером, который подключил потоковые stdin, stdout, stderr к удаленному процессу, и я взаимодействую с ним от локального клиента и заставляю его выглядеть так, как будто локальный клиент запускает обработать.

win32_run_poll – моя попытка портировать его в Windows, и это действительно работает. Это немного неудобно, и подход, ИМО, очень плох.

У кого-нибудь есть предложения о том, как это можно улучшить? Зависимость от win32api менее идеальна, но я в порядке с ее сохранением.

One Solution collect form web for “Использование sys.stdin в select.select в Windows”

В Windows select определяется только для сокетов и не будет работать для произвольных дескрипторов файлов (в Windows нет понятия дескрипторов файлов). Для получения дополнительной информации об этой проблеме см. Документацию msdn , она также упоминается в документации на python для модуля select.

Если вы хотите использовать опрос для архивных файлов, вы должны изучить что-то, что абстрагирует опросные сокеты и дескрипторы файлов. Это может быть скрученный реактор, упомянутый в комментарии к вашему сообщению, или это может быть привязка python к libuv или некоторая другая библиотека событий по вашему выбору.

  • IPython в Windows - без подсветки или автозаполнения
  • Как установить pycrypto на 64-битную машину Windows 7?
  • pip install с ошибкой соединения: сертификат не выполнен (_ssl.c: 598) "
  • Автоматическое создание папок хоста, отличных от c: \ Users в изображениях Docker в Windows
  • PIPON PIP имеет проблемы с путём для MS Visual Studio 2010 Express для 64-разрядной установки на Windows 7
  • Python 2.6 на Windows: как завершить подпроцесс.Popen с аргументом «shell = True»?
  • Установка scrapy / pyopenssl в Windows 'virtualenv
  • Интерфейс для изменения переменных среды Windows из Python
  • Python - лучший язык программирования в мире.