zoukankan      html  css  js  c++  java
  • 用Python写一个将Python2代码转换成Python3代码的批处理工具

    之前写过一篇如何在windows操作系统上给.py文件添加一个快速处理的右键功能的文章:《一键将Python2代码自动转化为Python3》,作用就是为了将Python2的文件升级转换成Python3的文件。

    之后,有朋友问,如果有很多文件需要转换,一个个的右键转换还是觉得麻烦!这个问题我非常喜欢,非常符合”程序员精神“,哈哈,能简单的决不搞复杂,能省力就省力!

    也有朋友提问,这个功能只能在windows上实现,像Ubuntu等Linux操作系统怎么搞?

    好吧,既然是研究学习Python语言的,那咱们就用Python写个代码来搞定这些问题,直接上代码:

    import os


    # 定义一个处理方法
    def Python2toPython3(dirname, p2to3FileName):
    if os.path.exists(dirname):
    for dirpath, dirnames, filenames in os.walk(dirname):
    for filename in filenames:
    if filename.endswith('.py'):
    fileFullName = os.path.join(dirpath, filename)
    print('Processing File:', fileFullName)
    pycode2to3 = ("python " + p2to3FileName + " -w " +
    fileFullName)
    print((os.popen(pycode2to3, 'r').read()))


    # dirname 需要转换的文件目录
    dirname = "C:/Users/Administrator/Desktop/test"

    # p2to3FileName 本机Python安装目录下的2to3.py的路径,2to3.py是python自带的工具
    p2to3FileName = ("C:/Users/Administrator/AppData/Local/Programs/" +
    "Python/Python36-32/Tools/scripts/2to3.py")

    Python2toPython3(dirname, p2to3FileName)

    下图为测试运行截图:


    代码很简单,就是遍历给定的目录,如果是".py"文件,就调用Python自己的2to3.py工具进行处理。
    这下应该没问题了吧,^_^。

    当然,如果有什么问题,或者有更好的方法,欢迎告之,以共同学习研究。
    ---------------------
    作者:JackieZhengChina
    来源:CSDN
    原文:https://blog.csdn.net/admans/article/details/79667598
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    学习篇之函数就是对象
    @Controller和@RestController的区别
    maven 阿里云 国内镜像 中央仓库
    IntelliJ IDEA使用教程
    解决“无法从套接字读取更多数据”
    at java.util.Arrays.copyOfRange(Arrays.java:3209)导致的java.lang.OutOfMemoryError: Java heap space 错误的解决办法
    maven中引入ojdbc包
    Oralce增加表空间
    Web服务框架发展与REST服务开发
    Oralce解锁表
  • 原文地址:https://www.cnblogs.com/gisoracle/p/10915874.html
Copyright © 2011-2022 走看看