Временное изменение sys.stdout дает «ValueError: операция ввода-вывода для закрытого файла» - PullRequest
0 голосов
/ 27 мая 2018

Привет, люди из StackOverflow.Я делаю примеры из книги Марко Бутту "Programmare con Python: Guida complete".
Цель - временно изменить sys.stdout, чтобы избежать передачи аргументов в print ()

>>> import sys
>>> sys.stdout = open('myfile.log', 'w')
>>> print('escribo en el archivo log...')
>>> print('todavia en el archivo log...')
>>> sys.stdout.close()
>>> open('myfile.log').read()

и i 'я получаю эту ошибку.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file.

Может ли кто-нибудь объяснить мне, почему это происходит?
Есть ли какая-то ошибка из-за разных версий (версия книги: 3.4, актуальная версия: 3.6.5)

Я буду искать ваши ответы.
Заранее большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...