Использование 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 или некоторая другая библиотека событий по вашему выбору.

  • Создание lxml для Python 2.7 на Windows
  • win32: проверьте, минимизировано ли окно
  • py2exe для генерации dll?
  • Компилятор Microsoft Visual C ++ для Python 3.4
  • Вывод пакетного файла Piping на скрипт Python
  • как запустить exe-файл с помощью аргументов с помощью python
  • Получение WM_COPYDATA в Python
  • Как изменить шрифт (размер / семейство) в PyScripter?
  • Pip - Неустранимая ошибка в пусковой установке: невозможно создать процесс, используя '' '
  • Как создать имя файла с конечным периодом в Windows?
  • Почему termcolor выводит управляющие символы вместо цветного текста на консоли Windows?
  • Python - лучший язык программирования в мире.