打开文件后立即“查看已关闭的文件”

时间:2019-07-20 19:05:43

标签: python io pickle

我正在尝试将一个腌制对象中的数据加载到一个列表中,但是尽管打开了文件,我还是收到了

Traceback (most recent call last):
  File "/path/to/file.py", line 18, in <module>
    data.append(pickle.load(file))
ValueError: peek of closed file

我以为我在打开文件时错过了一些东西,但是我看上去很对我(这是我第一次用咸菜打入IO)

# load data to list
with open('tasks.txt', 'rb') as file:
    data = []
    while True:
        try:
            data.append(pickle.load(file))
        except EOFError:
            break
        file.close()

我在处理开头错误吗?还是其他?

1 个答案:

答案 0 :(得分:2)

您在第一个load之后关闭了文件;完全删除file.close()with语句已经解决了这个问题),它应该可以正常工作。