python2转为python3_【操作】python2升级到python3

本文档总结了针对python2升级到pyhon3的方法。

需求:现需要将一条分支的代码从python2升级到pyrhon3。

需求拆分:为满足升级,需做到以下:

1.运行环境需要从python2迁移到3

2.代码语法需要从python2改为3(可以选择2和3都兼容的语法)

环境迁移

1.linux机器可以同时存在python2和python3,故先查看服务器有无python3环境(命令行直接敲python3回车),没有的话需要下载安装。

2.pip下载的python2的三方包,在python3里面也需要下载。

代码修改

1.工具扫描

python3提供了2to3的工具,可以将一些常见的语法(print/has_key...等)自动升级到python3,故我们先使用工具:

(1)在终端命令行执行whereis 2to3,发现该工具在/usr/bin/2to3目录下,ll /usr/bin/2to3,发现此路径有一个软连接2to3。

(2)执行2to3 -w -n files,意思是修改但不备份原文件(2to3工具怎么使用去搜索下)

注:此处可能会遇到编码报错,扫描升级失败的问题。可以使用notepad++修改要扫描的py脚本编码,然后重新执行命令。

注:一个文件被扫描成功以后,不要再次扫描它,不然会导致语法出错,比如print(())这种怪形式。

2.手动修改

以上两步将py脚本里可借助工具扫描升级的语法处理了,接着是手动修改脚本涉及的语法点:

(1)# coding=uft-8 指定编码

(2)#!/usr/bin/env python3 使用3的python解释器

(3)2里面的string模块在3中被去掉了,故删除。

(4)file()->open()或with open() ps:推荐使用with open()方法

(5)os.system()->subprocess.call()或者subprocess.run()

(6)import中的.(相对路径)需要改为绝对路径

(7)has_key->in(已被2to3工具处理)

(8)print->print()方法(已被2to3工具处理)

(9)字符串拼接+和+=改为{}.format()方法或者"(%s %s)" %(hi, name)或者join()

至此,python2到3的升级就完成了,可以本地调试通过后提交申请上库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值