К сожалению, в Windows
select.select работает только на сокетах,
не обычные файлы, ни консоль.
Итак, если вы хотите запустить на Windows, вы
нужен другой подход. На винде
только стандартная библиотека Python имеет
небольшой модуль с именем msvcrt, в том числе
такие функции, как msvcrt.kbhit, который
говорит вам, есть ли какое-либо нажатие клавиши
жду, чтобы прочитать. Здесь вы можете
sys.stdout. напишите приглашение, затем
введите небольшой цикл (в том числе
time.sleep (0.2) или около того), который ждет
посмотреть, нажимает ли пользователь какую-либо
ключ - если так, то вы можете
sys.stdin.readline и т. д., но если после
желаемый тайм-аут закончился без ключа
ударил, а затем просто вернуть
пустая строка из вашей функции.
Все это предполагает, что если пользователь
НАЧИНАЕТ печатать что-то, то вы
хочу ждать бесконечно (не тайм-аут
в середине их ввода их
ответ!). В противном случае у вас есть больше
работать, так как вы должны убедиться, что
пользователь нажал Return (что означает
вы должны посмотреть, что именно в
sys.stdin, соотв. использовать msvcrt.getch, один
персонаж за один раз). К счастью,
немного более простой подход ожидания
на неопределенный срок, если пользователь начал
вход, кажется, предпочтительнее
один с точки зрения пользовательского интерфейса -
это позволяет вам иметь дело с без присмотра
Консоли, как вы хотите, но если
пользователь вокруг вообще это дает
пользователь все время хочет
ЗАВЕРШИТЕ свой ответ.