【发布时间】:2010-11-15 05:28:53
【问题描述】:
official documentation for TemporaryFile 内容如下:
mode 参数默认为 'w+b' 以便可以读取创建的文件 并在没有关闭的情况下编写。
然而,下面的代码并没有按预期工作:
import tempfile
def play_with_fd():
with tempfile.TemporaryFile() as f:
f.write('test data\n')
f.write('most test data\n')
print 'READ:', f.read()
f.write('further data')
print 'READ:', f.read()
f.write('even more')
print 'READ:', f.read()
print 'READ:', f.read()
print 'READ:', f.read()
if __name__ == '__main__':
play_with_fd()
我得到的输出是:
> python play.py
READ:
READ:
READ:
READ:
READ:
谁能解释这种行为?有没有办法从临时文件中读取? (不必使用不会自动删除文件的低级 mkstemp;而且我不关心命名文件)
【问题讨论】:
-
使用
flush没有帮助。
标签: python file io temporary-files