写入文件 f 后,调用 f.read() 返回 None

use*_*314 2 python unit-testing temporary-files

问题是写入文件后它是空的,我不明白为什么。这是我的代码:

    self.f = tempfile.NamedTemporaryFile(delete=False)    
    for i in range(self.num_chars_file):
        self.f.write(str(i))
    reader_writer.testfile = self.f.name
    print '************************'
    print self.f.read()
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况,以及如何纠正这种情况?

fal*_*tru 5

您应该将文件位置移动到开头。

print '************************'
self.f.seek(0) # <--------
print self.f.read()
Run Code Online (Sandbox Code Playgroud)

否则,文件位置位于文件末尾(文件写入完成的位置)