• 将python2代码升级为python3代码最佳实践


    参考:https://docs.python.org/zh-cn/3/library/2to3.html

    2to3是python自带的工具,能处理大部分diff,剩下的还需要手动处理的(我不知道如何自动处理):

    • 【ERROR】str,unicode,bytes的问题;
    • 【WARNING】如果py2代码的print已经带()了,那么这个工具还是会再套一层(());

    如果机器上只有1个py3,那么直接用2to3命令即可;

    如果机器上有多个py3,那么可以使用对应版本的2to3,比如2to3-3.6

    可以先clone一个干净项目代码的master branch,并将其放在_py3目录:

    git clone git@xxxxxx.git xxx_py3
    cd xxx_py3
    2to3-3.6 -w -n .  
    # 2to3-3.6, 由于机器上有多个py3版本,可以指定2to3的版本
    # -w:直接在原始文件上进行修改
    # -n:不需要对原始文件进行备份,即不会生成xxx.py.bak文件
    # .:当前目录(包括子目录)下所有文件
    

    上边这种方法基本上满足所有场景了,记住这个命令“2to3-3.6 -w -n . ”。如果有其他需求,比如不修改原文件,指定目录,增加后缀等可以去看参考链接。

  • 相关阅读:
    【PAT】1001 害死人不偿命的(3n+1)猜想(动态更新)
    文件指令集
    近距离接触电脑
    文件管理
    文件写作方法
    文件读取方法
    打开文件的逻辑
    话术库
    max的逻辑
    抽象化指令
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/12581990.html
Copyright © 2020-2023  润新知