Python pytest иногда завершается с ошибкой OSError: чтение со стандартного ввода во время захвата выводаPython

Программы на Python
Ответить
Anonymous
 Python pytest иногда завершается с ошибкой OSError: чтение со стандартного ввода во время захвата вывода

Сообщение Anonymous »

При запуске определенного модульного теста с помощью pytest иногда происходит сбой с этой ошибкой (упомянутой в заголовке), и в трассировке стека это происходит в строке

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

choice = input().lower()
когда элемент управления достигает этого оператора, вся функция выглядит так:

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

def prompt_to_activate(bear, printer):
PROMPT_TO_ACTIVATE_STR = ('program has found {} to be useful '
'based of dependencies discovered from your '
'project files. \n Would you like to activate '
'it? (y/n)')
printer.print(PROMPT_TO_ACTIVATE_STR)

choice = input().lower()

if choice.startswith('y'):
return True
elif choice.startswith('n'):
return False
else:
return prompt_to_activate(bear, printer)
for i in range(0, 3):
a = i
print(a)
Я пробовал добавить time.sleep(x) перед этим оператором, но это не помогло. Может ли кто-нибудь сказать мне точную причину, почему это происходит и как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/513 ... e-output-i
Ответить

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

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

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

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

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