Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Python проверка наличия данных в sys.stdin

#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). Примеры для неблокирующего чтения вывода внешней команды.

Комментариев нет:

Отправить комментарий