A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

   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)

---------------------
作者:蹦跶的小羊羔
来源:CSDN
原文:https://blog.csdn.net/yql_617540298/article/details/82699765
版权声明:本文为博主原创文章,转载请附上博文链接!

2 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马