• 技术文章 >后端开发 >Python教程

    一秒完成Python3与Python2脚本相互转化的实战方法,您造吗?

    PHPzhongPHPzhong2023-04-15 09:31:02转载38

    Python2和Python3在语法和模块的使用上会有一些差别(这里就不详细讲解了),推荐新手直接使用python3进行代码编写。实际工作中有很多运维或者测试脚本还在使用python2持续运行,当我们遇到批量工作需要把python3转化成python2(或者把python2转化成python3)的时候,我们该如何处理呢?是不是需要一行一行地手动去修改代码呢?答案是否定的,本文就来介绍一下具体的实施方案。

    python 2转python 3

    Python3.7(自带转化工具C:Python37Toolsscripts2to3)我们可以直接在cmd命令行中使用它:

    python 2to3.py -w D:/test.py #python2的test.py 转换为python3

    test.py文件很简单就是打印语句

    print "hello.py"
    
    C:Python37Toolsscripts>python 2to3.py -w D:/test.py
    
    RefactoringTool: Skipping optional fixer: buffer
    
    RefactoringTool: Skipping optional fixer: idioms
    
    RefactoringTool: Skipping optional fixer: set_literal
    
    RefactoringTool: Skipping optional fixer: ws_comma
    
    RefactoringTool: Refactored D:/test.py
    
    --- D:/test.py (original)
    
    +++ D:/test.py (refactored)
    
    @@ -1 +1 @@
    
    -print "hello.py"
    
    +print("hello.py")
    
    RefactoringTool: Files that were modified:
    
    RefactoringTool: D:/test.py
    

    执行后,check test.py,转化后的代码如下:

    print("hello.py")
    

    参数 -w 会将新文件覆盖旧文件,不加 -w 就只在控制台窗口显示修改的地方(而文件里的内容不会被修改);文件默认会备份成 .bak(例如test.py.bak) ,如果不需要生成bak文件,则加参数 -n即可。

    如果需要转换某个文件夹下的所有文件,例如D盘test文件夹下的所有文件,在命令行里输入:

    python 2to3.py -w D:/test/
    

    python 3转python 2

    先安装一个Python包:lib3to2 ,pip install 3to2

    安装成功后,会在目录C:Python37Scripts 中生成一个文件叫3to2

    对需要转换的某个python文件,例如D盘根目录下的test.py,在命令行里输入:

    python 3to2 -w D:/test.py #python3的test.py 转换为python2

    如果需要转换某个文件夹下的所有文件,例如D盘test文件夹下的所有文件,在命令行里输入:

    python 3to2 -w D:/test/
    

    大家可以发现python 3转python 2的方法与python 2转python 3是极其相似的!

    以上就是一秒完成Python3与Python2脚本相互转化的实战方法,您造吗?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:51CTO.COM,如有侵犯,请联系admin@php.cn删除
    上一篇:妙啊!这款 Python 数据可视化工具强的很! 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 17条好用的 Python 技巧分享!• 九个超级实用的数据科学Python库• Python F-Strings 比你想象的更强大• 最新开源:高效的 Python 通用对象池化库• 提升Python程序性能的七个习惯
    1/1

    PHP中文网