python:module 'pickle' has no attribute 'load'错误原因和解决方案

错误:这明显是pickle包已经安装好了,然而在调用pickle的时候发生了误会。

原因:当前文件目录中有一个文件叫做pickle.py或者此文件的文件名为pickle.py,如果是这样,那么python在import的时候就会import到你自己写的这个文件。

以下是python模块引用的顺序:

import引用时首先判断这个module是不是built-in即内建模块,比如import sys。如果是则引入内建模块,

如果不是则在一个称为sys.path的list中寻找(引用的时候会按照下面的顺序去引用

sys.path在python脚本执行时动态生成,包括以下3个部分: 
1.脚本执行的位置,即运行模块的路径 (顺序第一)
2.环境变量中的PYTHONPATH, 即.bash_profile (顺序第二)
3.第三方模块的位置,一般在site-package文件夹下 (顺序第三)
4.通过sys.path.append(path)添加到sys.path中的路径 (顺序第四)

可以看到脚本执行的位置是位于第一优先级的。

解决方案:把和pickle重名的文件重命名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值