在这里插入代码片在练习使用pickle模块的时候写了如下的代码,但是出现了报错,代码和报错内容如下:
代码:
import pickle
dict1 = dict(name='八岐大蛇', age=100, sex='男', addr='东方', enemy=['八神', '草薙京', '神乐千鹤'])
print(dict)
file1 = open('d:\\py-pickle.txt', 'w')
pickle.dump(dict1, file1, 1)
file1.close()
报错:
E:\Py_Tortoise\venv\Scripts\python.exe E:/Py_Tortoise/pickle.py
<class 'dict'>
Traceback (most recent call last):
File "E:/Py_Tortoise/pickle.py", line 1, in <module>
import pickle
File "E:\Py_Tortoise\pickle.py", line 6, in <module>
pickle.dump(dict1, file1, 1)
AttributeError: module 'pickle' has no attribute 'dump'
Process finished with exit code 1
这个报错是说pickle这个模块没有dump属性,
最终发现的文件名pickle.py和标准库pickle命名冲突了,需要修改掉自己写的文件名
本文介绍了一个关于Python中pickle模块使用的常见错误案例。作者在尝试序列化一个字典时遇到问题,原因是自己的脚本文件名为pickle.py,与Python的标准库pickle模块名称相同导致冲突。文章最后给出了更名文件以解决问题的方法。
1233

被折叠的 条评论
为什么被折叠?



