Код, который вы опубликовали, выглядит нормально, и ошибка, вероятно, в одном из ваших других файлов.
Функция input()
использует sys.stdout
для отображения текста приглашения и sys.stdin
для получениявводимый пользователем текст.
Полученное сообщение об ошибке, вероятно, вызвано закрытием одного из этих файлов, например:
>>> import sys
>>> input('test: ')
test: hello
'hello'
>>> sys.stdin.close()
>>> input('test: ')
test: Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file.
или:
>>> import sys
>>> input('test: ')
test: hi
'hi'
>>> sys.stdout.close()
>>> input('test: ')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file.
Я могуНе скажу точно, где исправить эту проблему, но поищите вещи, которые могут закрыть один из этих файлов, прямо или косвенно (например, менеджер контекста).