gpt4 book ai didi

Python - tempfile.TemporaryFile 无法读取;为什么?

转载 作者:IT老高 更新时间:2023-10-28 20:38:15 28 4
gpt4 key购买 nike

official documentation for TemporaryFile阅读:

The mode parameter defaults to 'w+b' so that the file created can be read and written without being closed.

然而,下面的代码并没有按预期工作:

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;而且我不关心命名文件)

最佳答案

你必须放

f.seek(0)

在尝试读取文件之前(这会将您带到文件的开头),并且

f.seek(0, 2)

返回到最后,这样您就可以确保不会覆盖它。

关于Python - tempfile.TemporaryFile 无法读取;为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1202848/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com