我正在尝试打开文件,读取内容,将其与哈希值进行比较,如果需要,再次覆盖该文件。应该是基本的东西,但不知怎的,我无法让它工作。我现在有:
with open(name, 'wb+') as des:
current_content = des.read()
我100%确定文件不是空的,我正在查看正确的文件(以后的数据写入它并且可以正常工作)但不知何故current_content最终为空字符串。
with open(name, 'wb+') as des:
des.write('Test')
des.seek(0)
current_content = des.read()
如果我尝试上面的current_content将返回'Test'。任何人都知道什么可能导致这种行为?
答案 0 :(得分:1)
将文件阅读选项wb+
更改为ab+
并立即进行测试。问题是ab+
支持根据文档读取和附加数据(At EOF)在二进制文件中。当您使用wb+
时,它可能会覆盖现有文件。