我有一个代码,我正在编写'测试',一旦文件完成,我希望在文本文件中看到'testing'但它仍然是空的。我在这里错过了什么吗?
import shutil
import sys
f = open('test.txt', 'r+')
f.write('testing')
shutil.copyfileobj(f, sys.stdout)
答案 0 :(得分:4)
实际上是正确的,问题是当你write
时,缓冲区指针移动,所以当你复制时,它不会打印任何东西。请尝试使用seek
之前:
import shutil
import sys
f = open('test.txt', 'r+')
f.write('testing')
f.seek(0)
shutil.copyfileobj(f, sys.stdout)
希望这有帮助!
答案 1 :(得分:3)
您需要关闭该文件。
f.close()
修改
尝试更改文件的名称,是否仍然没有写入:
f = open('test124.txt', 'a') # use the append flag so that it creates the file.
f.write('testing')
f.close()