1

我有一个正在写入“测试”的代码,一旦文件完成,我希望在文本文件中看到“测试”,但它仍然是空的。我在这里错过了什么吗?

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

2 回答 2

4

这实际上是正确的,问题是当你write,缓冲区指针移动,所以当你复制时,它不会打印任何东西。像这样尝试seek之前:

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

希望这可以帮助!

于 2013-11-05T20:11:50.157 回答
3

你需要关闭文件。

f.close()

编辑

尝试更改文件的名称,它仍然不写:

f = open('test124.txt', 'a') # use the append flag so that it creates the file. 
f.write('testing')
f.close()
于 2013-11-05T20:12:03.713 回答