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