NameError: name 'reload' is not defined等python版本问题解决方案

        python2.x和python3.x之间相差很多,有很多语法知识已经不再适用于新的python版本,下面简单列出3个错误:

一、pickle.load错误:a bytes-like object is required, not 'str'

pickle(除了最早的版本外)是二进制格式的,所以应该带 'b' 标志打开文件;

f=open('./a.txt','rb')
label_dict = pickle.load(f)

二、TypeError: slice indices must be integers or None or have an __index__ method

由于除法/自动产生的类型是浮点型,因此出现上述错误,修正方法为,将/更改为//;

start_width = (width_large - width_small) // 2
start_height = (height_large - height_small) // 2

三、 NameError: name 'reload' is not defined

python版本导致:

(1)对于 Python 2.X

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

(2)对于 <= Python 3.3

import imp
imp.reload(sys)

(3)对于>= Python 3.4

import sys
import importlib
importlib.reload(sys)

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蹦跶的小羊羔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值