首页 > 编程语言 >Python2升级Python3改造手法

Python2升级Python3改造手法

时间:2022-11-12 19:34:31浏览次数:45  
标签:手法 Python 改造 dict key Python3 Python2


Python 3.x不兼容Python 2.x,但这两个在语法层面差别不大。

Python 3.x做了部分修改,但大体语法与Python 2.x相似,Python 3.x的使用者可以轻松阅读Python 2.x编写的代码。

本节将从项目改造入手,以帮助大家了解它们之间的差异。

痛点:前段时间,集成一个插件到postgres中,Python的库是Python2,需要升级Python3,这里记录一下迁移的改动,基本上涵盖了大部分的改造,如果大家的项目也是类似的情况,可以直接全局搜索代码替换这些变化,这样可以快速魔改,兼容Python3。

简单来说,Python2到Python3又如下区别:print函数、整除、Unicode、迭代器、不等运算符、数据类型、异常处理、包管理、True与False等。

具体来说,在项目中涉及到的改造变化如下:

  • dict.iteritems() -> dict.items()
  • from x import y -> from .x import y
  • sys.maxint -> sys.maxsize
  • isinstance(obj, StringType) -> isinstance(obj, str)
  • global -> def function wrapper a global var
  • dict.keys() -> list(dict.keys())
  • long -> int
  • try Exception, e -> try Exception as e
  • unicode -> str
  • dict.has_key(key) -> if key in dict
  • iterator.next() -> next(iterator)
  • string.lower(s) -> s.lower()
  • map() -> list(map())
  • / -> //
  • 0L -> 0
  • print "" -> print("")

本节完~


标签:手法,Python,改造,dict,key,Python3,Python2
From: https://blog.51cto.com/u_12205414/5846766

相关文章

  • python3.9 不支持 Axes3D
    学自动编码器的时候用了下axes3D,在pycharm里面跑代码,跑出来的图永远都是空白,没有任何报错,很服。看到知乎有老哥提问,python3.9是不是不支持axes3D,但是没有有意义的回答,抱......
  • 老版本Python3.6 安装踩坑
    因业务需要安装老版本的python3.6.7,当前系统默认的python2.7brew安装的3.7 brew回退安装3.6.*版本的方式,网络上有很多。比较靠谱的可以用官网方式安装,见 ​​ht......
  • 新的学习历程-python2 print
    1print('helloworld!')2print('hello','world!')#逗号自动添加默认的分隔符:空格3print('hello'+'world!')#加号表示字符拼接4print('hello','world',sep='***')......
  • python2 递归函数
    importosimportos.pathasospimportsysimportnumpyasnpimportdatetimedefmkdirs_py2(path):#递归创建文件夹路径ifosp.exists(path):return......
  • python3执行pip list出现警告
    python3执行piplist出现警告WARNING:Youareusingpipversion21.2.3;however,version22.3.1isavailable.Youshouldconsiderupgradingviathe'F:\Python39......
  • python3爬取网页图片
    爬取url网页里面所有的图片,把url填上就能用了,下面的自己看着改改进行筛选。importrequestsimportreimporttimeimportrandomimportosdefFind(string):#f......
  • python3-pycharm TAB键转换为4个空格
     pycharm默认Tab为4个空格1【File】→【setting】编辑2.【Editor】→【CodeStyle】→【Python】编辑二、pycharm空格显示【General】→【Appearance】→Showwhitespace......
  • python3 计算SSL 证书过期时间
    计算网站SSL证书距离当前还有多少天过期importsocketimportsslimportdatetimeimporttimedefget_domain_cert(domain):socket.setdefaulttimeout(5)......
  • mac(intel)安装python3,pycharm配置python3
    mac自带python2.7,使用brew下载python3太慢经常容易失败,所以官网下载。本次安装版本为3.9.71.官网下载python3.9.7,鼠标滑到最下面,找到对应版本下载,然后一路下一步傻瓜安装......
  • Python2调用xlwt库的报错:“UnicodeDecodeError: 'ascii' codec can't decode byte 0xe
    问题描述:Python2调用xlwt库的报错,报错提示“UnicodeDecodeError:'ascii'codeccan'tdecodebyte0xe5inposition0:ordinalnotinrange(128)”编码问题。 ......