#python #input
Как проверить есть ли данные для чтения в sys.stdin, чтобы программа не останавливалась в ожидании ввода, если их нет.
Ответы
Ответ 1
Можно посмотреть, что происходит, если timeout близкий к нулю передать в input_with_timeout(). На Unix, чтобы узнать есть ли данные для чтения: import select ready, _, _ = select.select([sys.stdin], [],[], 0) На Windows, при вводе с консоли: import msvcrt ready = msvcrt.kbhit() В качестве альтернативы, можно использовать асинхронный ввод/вывод (потоки, asyncio, O_NONBLOCK). Примеры для неблокирующего чтения вывода внешней команды.
Комментариев нет:
Отправить комментарий