泡菜和转储在python中

use*_*916 1 python python-2.7

我正在尝试学习python中pickle的概念.据我所知,pickle用于在python中存储对象,然后我们可以在文件中访问它们.我为此编写了简单的脚本,但它显示错误.我不明白为什么

import pickle

plist= ["one","a","two","b","End!!"]
#p={'hi','hello','hola'}
file=open("pickle.txt","w")
pickle.dump(plist, file)
file.close()
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "C:/Python33/pickle.py", line 1, in <module>
    import pickle
  File "C:/Python33\pickle.py", line 6, in <module>
    pickle.dump(plist, file)
AttributeError: 'module' object has no attribute 'dump'
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 5

不要pickle.py用作文件名.它阻止导入pickle标准库的模块.(在标准库路径之前搜索包含脚本的目录)

重命名pickle.py为其他名称,并确保没有pickle.pyc.