"Peek of a closed file" 文件打开后

"Peek of a closed file" right after file is opened

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

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

我以为我在打开文件时遗漏了一些东西,但我看了看我觉得还不错的东西(这是我第一次使用 pickle 涉足 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()

是我处理的开头不对,还是其他原因?

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