Python2到Python3升级过程中需要注意的一些点

  1. print格式的变化,如:print ‘a’, -> print (‘a’, end=’ ')
  2. re.compile(ur’’’…’’’) -> re.compile(r’’’…’’’)
  3. 字符集的变化,Python3默认字符集unicode,Python2是ascii编码,所以Python3中需要去掉reload(sys); sys.setdefaultencoding('utf-8') ;等代码
  4. u’a’ -> ‘a’
  5. /除法变为浮点数除法,如5/4在Python2中结果为1,但在Python3中结果为1.25
  6. 因为在Python3中默认为unicode编码,所以无需对普通字符进行decode(‘utf-8’)操作
  7. 相对导入问题,这个在包导入中详细阐述,注意相对导入模块不能直接执行,需要执行python -ma.b.c(a.b.c是包路径,包的路径要涉及调用的最上层)
  8. 隐式相对导入废弃(import sys此类直接import只能导入sys.path中的模块)
  9. dict.iteritems方法在Python3中已被删除,使用此方法的地方需另做处理
  10. 一些调用包的修改 一些调用包的修改
    from functools import reduce
    urllib2 -> urllib
    import ConfigParser -> pip install configparser; from configparser import ConfigParser
    pickle中python2 dump的内容不能被python3 load . filehandle = open(WAV_FILE, ‘wb+’)

你可能感兴趣的:(python)