用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工具进行处理。
这下应该没问题了吧,^_^。

当然,如果有什么问题,或者有更好的方法,欢迎告之,以共同学习研究。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WP 手机Lumia 820 锁屏密码的POJI研究

Windows Phone lumia 手机锁屏密码的POJI研究大家好今天给大家分享一个最新研究案例,近日笔者Nokia Lumia 820,由于客户密码失误太多,导致锁屏23000余分钟,,请看:型号Nokia Lumia820条件:Lumia8…

ArcGIS10从入门到精通系列实验图文教程(附配套实验数据持续更新)

文章目录1. 专栏简介2. 专栏地址3. 专栏目录1. 专栏简介 本教程《ArcGIS从入门到精通系列实验教程》内容包括:ArcGIS平台简介、ArcGIS应用基础、空间数据的采集与组织、空间数据的转换与处理、空间数据的可视化表达、GIS空间分析导论、矢量数据的空间分析、栅格数据…

【iVX 初级工程师培训教程 10篇文拿证】09 聊天室制作

目录 【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照 【iV…

为什么Dapr是比SpringCloud和Istio更优雅的微服务框架?

作者:徐磊文章首发地址:https://smartide.cn/zh/blog/2022-0601-dapr/Dapr 是微软主导的云原生开源项目,2019年10月首次发布,到正式发布 V1.0 版本的不到一年的时间内,github star 数达到了 1.2万(现在已经…

Android之模拟网络请求返回http 502、400、401、402错误码

1 问题 app 网络框架协程没有做网络异常捕获处理,想本地测试网络接口,希望网络接口返回Http的错误码 比如502、400、401、402 2 解决办法 1、pc安装Fiddler Everywhere 2、让Fiddler Everywhere支持抓http和https的包 3、保持手机和电脑同一个局域网&am…

tomcat结合nginx使用小结

tomcat结合nginx部署 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额。那究竟它有什么作用呢?可能很多人未必了解。 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了。…

如何学好GIS,彻底领悟这几句话就够了!!!

目 录前言1. GIS起源于地图学2. GISer心中要有地图3. 空间数据是GIS的血液4. 空间分析是GIS的灵魂5. GIS是智慧城市的操作系统前言 地理信息系统 (GIS)是以可视化和分析地理配准信息为目的,用于描述和表征地球及其他地理现象的一种系统。 地…

【iVX 初级工程师培训教程 10篇文拿证】07 08 新闻页制作

目录 【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照 【iV…

【WEB API项目实战干货系列】- WEB API入门(一)

这篇做为这个系列的第一篇,做基本的介绍,有经验的人可以直接跳到第二部分创建 ProductController。创建 Web API 项目 在这里我们使用VS2013, .NET 4.5.1创建一个Web API 2的项目选择项目WEB API模板, 在最下方的MVC主要是默认会自带微软的API Helper, 使…

Android之打开继承DialogFragment对话框里面EditText获取光标并且弹出键盘把底部布局顶上去

1 需求 打开继承DialogFragment对话框里面EditText获取光标并且弹出键盘把底部布局顶上去 2 效果爆照如下 打开这个DialogFragment 3 关键代码实现 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)…

【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务

目录 【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照 【iV…

J2EE开发技术点4:ajax技术

前言 AJAX 是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。需要知道的是,Ajax技术并不是一项新的技术,而是使用现有技术解决问题的新方法。Ajax(Asynchronous JavaScript and XML)也叫异步Jav…

【WEB API项目实战干货系列】- 接口文档与在线测试(二)

这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 API功能(这个也是方便我们自己开发调试) 我们先来看看我们的API最终帮助文档及在线测试最终达到的效果: 概要图GET API添加产品API:删除产品 …

IOS多线程

http://www.jianshu.com/p/0b0d9b1f1f19 首页专题下载手机应用显示模式登录注册登录添加关注作者 伯恩的遗产 2015.07.29 00:37* 写了35249字,被2296人关注,获得了1668个喜欢关于iOS多线程,你看我就够了 字数8596 阅读92152 评论153 喜欢905在…

地理(GIS)教学神器:气象地球生成器

地理教学中,不管是高中还是初中,都会涉及到大气运动的相关教学,并且,高中阶段的大气运动知识对很多学生来说相对比较复杂,如: (三圈环流) (青藏高原对西风带的影响&#…

使用 Yarp 做网关

资料GitHub: https://github.com/microsoft/reverse-proxyYARP 文档:https://microsoft.github.io/reverse-proxy/articles/getting-started.html主动和被动健康检查 : https://microsoft.github.io/reverse-proxy/articles/dests-health-checks.html#ac…

【iVX 初级工程师培训教程 10篇文拿证】05 画布及飞机大战游戏制作

目录 【iVX 初级工程师培训教程 10篇文拿证】01 了解 iVX 完成新年贺卡 【iVX 初级工程师培训教程 10篇文拿证】02 数值绑定及自适应网站制作 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照 【iV…

【WEB API项目实战干货系列】- API登录与身份验证(三)

这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. 这一篇的主要原理是: API会提供一个单独的登录API, 通过用户名,密码来产生一个SessionKey, SessionKey具有过期时间的特点, 系…

mysql数据库建立的数据库在哪个文件夹?

为什么80%的码农都做不了架构师?>>> 一般在安装目录下的data文件夹下,或者在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data(你的可能是C:\Documents and Settings\All Users\Application D…

ArcGIS实验教程——实验二十四:人口密度制图

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 一、实验分析 人口密度是指单位土地面积上居住的人口数,通常以每平方千米或每公顷内的常住人口为单位计算。人口密度同资源、经济密切结合,因此,科学准确地分析人口密度的分布情况,对合理制定…