Python read()不起作用

时间:2016-04-14 10:28:03

标签: python-2.7 pycharm

我正在尝试打开文件,读取内容,将其与哈希值进行比较,如果需要,再次覆盖该文件。应该是基本的东西,但不知怎的,我无法让它工作。我现在有:

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'。任何人都知道什么可能导致这种行为?

1 个答案:

答案 0 :(得分:1)

将文件阅读选项wb+更改为ab+并立即进行测试。问题是ab+支持根据文档读取和附加数据(At EOF)在二进制文件中。当您使用wb+时,它可能会覆盖现有文件。