Строка не будет записана в файл

У меня есть код, который я пишу "тестирование", после того, как файл был выполнен, я надеялся увидеть "тестирование" в текстовом файле, но он по-прежнему пуст. Я что-то упустил?

import shutil
import sys
f = open('test.txt', 'r+')
f.write('testing')
shutil.copyfileobj(f, sys.stdout)
2 ответа

вам нужно закрыть файл.

f.close()

РЕДАКТИРОВАТЬ

попробуйте изменить имя файла, не все ли написано:

f = open('test124.txt', 'a') # use the append flag so that it creates the file.
f.write('testing')
f.close()


На самом деле это правильно, проблема в том, что при write указатель буфера перемещается, поэтому при копировании он ничего не печатает. Попробуйте seek раньше:

import shutil
import sys
f = open('test.txt', 'r+')
f.write('testing')
f.seek(0)
shutil.copyfileobj(f, sys.stdout)

Надеюсь это поможет!

licensed under cc by-sa 3.0 with attribution.