之前写过一篇如何在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
版权声明:本文为博主原创文章,转载请附上博文链接!

用Python写一个将Python2代码转换成Python3代码的批处理工具的更多相关文章

  1. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  2. 【Python】如何基于Python写一个TCP反向连接后门

    首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...

  3. 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)

    昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到.但是,如果我想, ...

  4. [py]python写一个通讯录step by step V3.0

    python写一个通讯录step by step V3.0 参考: http://blog.51cto.com/lovelace/1631831 更新功能: 数据库进行数据存入和读取操作 字典配合函数 ...

  5. Python写一个自动点餐程序

    Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...

  6. 用python写一个自动化盲注脚本

    前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行 ...

  7. python写一个能变身电光耗子的贪吃蛇

    python写一个不同的贪吃蛇 写这篇文章是因为最近课太多,没有精力去挖洞,记录一下学习中的收获,python那么好玩就写一个大一没有完成的贪吃蛇(主要还是跟课程有关o(╥﹏╥)o,课太多好烦) 第一 ...

  8. 如何把java代码转换成smali代码

    1.概述 Smali是Android系统中Dalvik虚拟机指令语言,在apk逆向过程中有许多工具可以把smali代码转化成java代码.但是在学习Smali语法的过程中,有时候需要进行java代码和 ...

  9. [Android Security] 如何把java代码转换成smali代码

    copy :https://www.cnblogs.com/gordon0918/p/5466514.html 1.概述 Smali是Android系统中Dalvik虚拟机指令语言,在apk逆向过程中 ...

随机推荐

  1. VisualStudio2015 安装

    环境:Win10 64位 推荐安装顺序 IIS > Sqlserver > Asp.Net 启动安装程序(出现Logo后需要等待1到2分钟),选择安装路径(注意不要出现中文路径) 勾选需求 ...

  2. JavaScript随机验证码

    利用canvas制作一个随机验证码: 1.clearRect:context.clearRect(x,y,width,height);清空给定矩形内的指定像素 2.fillStyle:设置画笔的颜色 ...

  3. ActiveMQ入门系列之应用:Springboot+ActiveMQ+JavaMail实现异步邮件发送

    现在邮件发送功能已经是几乎每个系统或网址必备的功能了,从用户注册的确认到找回密码再到消息提醒,这些功能普遍的会用到邮件发送功能.我们都买过火车票,买完后会有邮件提醒,有时候邮件并不是买完票立马就能收到 ...

  4. C++ STL 之 list

    #include <list> #include <iostream> using namespace std; // 打印list元素 void PrintList(list ...

  5. 如何准备Java的高级技术面试

    一. 换位思考下,如果你面试官,你会怎么做 只能通过简历和面试来衡量,别无他法.如果某位大牛确认能力很行,但面试时无法充分地自证能力,那对不起了,过不了,现实就这样. 如果面试官由于能力不行,招进来一 ...

  6. mysql tinyint(1) 在java中被转化为boolean

    数据库表字段类型为:tinyint 长度为1 在java中对应的类型是boolean 查询时直接在页面展示成true或false 如果是2,3,4 这样的也是默认成true,非常不友好. 解决方案: ...

  7. Swift Review总结一:从 Swift Style 开始

    最近凑了几个热心的小伙伴写一些Swift的新手demo(两周后应该能和大家见面了),我参与了review.于是借demo里的代码总结一下新手写Swift要注意的问题,尤其是从oc转到用swift写的开 ...

  8. CAFFE(二):Ubuntu 下安装OpenCv 3.4.1

    一步:进入OpenCv官网 选择 3.4.1 版本的 source , 下载 opencv-3.4.1.zip ,如下图选择Sources下载 解压缩到home目录.并执行如下代码: { cd ~/o ...

  9. h5 特效

    地址:http://www.cnblogs.com/sun927/p/5842852.html 几个别人总结的css3炫酷效果,有需要直接拿来用即可,包括以下几个效果: 1.悬浮时放大 2.悬浮时转一 ...

  10. Log4j,Log4j2,logback,slf4j日志学习(转)

    日志学习笔记Log4jLog4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.数据库等:我们也可以控制每一条日志的输出格式:通过定义每一条日志 ...