Если я попытаюсь выполнить следующий код
f = file('test','rb')
fout = file('test.out','wb')
for i in range(10):
a = f.read(1)
fout.write(a)
f.close()
f = fout
f.seek(4)
print f.read(4)
Где 'test'
любой произвольный файл, я получаю:
Traceback (most recent call last):
File "testbad.py", line 12, in <module>
print f.read(4)
IOError: [Errno 9] Bad file descriptor
Если, однако, я заменю только строку fout на временный файл:
import tempfile
f = file('test','rb')
fout = tempfile.NamedTemporaryFile()
for i in range(10):
a = f.read(1)
fout.write(a)
f.close()
f = fout
f.seek(4)
print f.read(4)
Нет ошибок. Кто-нибудь знает, почему это? Я ожидал, что первый случай сработает, но я, должно быть, делаю что-то не так.
Заранее спасибо за любую помощь!