Почему я получаю OSError: [WinError 10038] при вызове select.select с файлом?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему я получаю OSError: [WinError 10038] при вызове select.select с файлом?

Сообщение Anonymous »

1:
Если я хочу узнать, есть ли в файле/канале непрочитанные байты. В этом вопросе используется select.select.
В документах сказано:

Возвращаемое значение представляет собой тройку списков объектов, которые готовы

Означает ли готовность в данном контексте, что имеются непрочитанные байты?
2:
если я передаю файл (возвращенный командой open) в параметре rlist, я получаю следующую ошибку:

Код: Выделить всё

[WinError 10038] An operation was attempted on something that is not a socket
почему я это понимаю? Я имею в виду, что в документации сказано, что вы можете использовать любой объект, поддерживающий _object_.fileno()
Я использую Windows.
Моя конечная цель — выяснить, поддерживает ли в канале, возвращенном из subprocess.popen, есть доступные (непрочитанные) байты.
РЕДАКТИРОВАТЬ:
комментарий №1 указывает на очень хороший факт: в Windows вы не можете использовать select.select для файла. вопрос: Работает ли это для канала (например, subprocess.Popen.stdout)?
PS: вопрос №1 пока без ответа
РЕДАКТИРОВАТЬ №2:
Если select.select не работает, какая альтернатива будет хорошей (для Windows)?>

Подробнее здесь: https://stackoverflow.com/questions/790 ... ith-a-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»