module 'pickle' has no attribute 'dump

2020-07-08 07:24发布

import pickle

imelda = ('More Mayhem',
          'IMelda May',
          '2011',
          ((1, 'Pulling the Rug'),
           (2, 'Psycho'),
           (3, 'Mayhem'),
           (4, 'Kentish Town Waltz')))

with open("imelda.pickle", "wb") as pickle_file:
    pickle.dump(imelda, pickle_file)

I am trying to execute this code, but the console keeps telling me:

module 'pickle' has no attribute 'dump'

Do I have to install pickle via pip? I am not sure what is happening here.

标签: python pickle
2条回答
Bombasti
2楼-- · 2020-07-08 07:48

You might have used your Python file name as pickle.py. Python interpreter is confused and looking for dump function in you file pickle.py instead of the package you have imported. Change the name of your file to something else, it will work.

查看更多
欢心
3楼-- · 2020-07-08 07:53

Happened to me too. I had a file called pickle.py in my current directory. Just rename it and it's fixed :)

查看更多
登录 后发表回答