gpt4 book ai didi

python-3.x pickle 创建空文件

转载 作者:行者123 更新时间:2023-12-03 10:08:19 24 4
gpt4 key购买 nike

我是 python 新手,试图将一些复杂的数据结构存储/检索到文件中,并且正在试验 pickle 。
但是,下面的示例不断创建一个空白文件(那里没有存储任何内容),我在第二步中遇到了错误。我一直在谷歌搜索,只是为了找到与我的完全匹配的其他示例 - 然而,它似乎不起作用。
我可能缺少什么?提前tx!

import pickle

messageToSend = ["Pickle", "this!"]
print("before: \n",messageToSend)

f = open("pickletest.pickle","wb")
pickle.dump(messageToSend,f)
f.close

g = open("pickletest.pickle","rb")
messageReceived = pickle.load(g)
print("after: \n",messageReceived)
g.close

最佳答案

您没有关闭文件。请注意您写的 f.close而不是 f.close()
在python中处理文件的正确方法是:

with open("pickletest.pickle", "wb") as f:
pickle.dump(messageToSend, f)

所以当 with 时它会自动关闭文件即使在处理过程中出现错误,块也会结束。

给出的另一个答案仅适用于某些 Python 实现,因为它依赖于垃圾收集器关闭文件。这是非常不可靠且容易出错的。始终使用 with处理任何需要关闭的东西时。

关于python-3.x pickle 创建空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32779770/

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