没有合适的资源?快使用搜索试试~ 我知道了~
用Python写一个将Python2代码转换成Python3代码的批量处理脚本
4 下载量 168 浏览量
2020-12-22
14:39:45
上传
评论
收藏 255KB PDF 举报
温馨提示
试读
1页
上一篇博客介绍了如何用Python3自带的工具实现将Python2代码转换成Python3代码,详细可见《使用Python内置2to3工具实现Python2.x代码向Python3.x代码的转换》 但是会附带生成bak文件。 本文将用Python来实现将Python2代码转换成Python3代码批处理以及对生成的bak文件批量删除。 代码如下: import os # 定义一个处理方法 def Python2toPython3(dirname, p2to3FileName): if os.path.exists(dirname): for dirpath, dirn
资源详情
资源评论
资源推荐
用用Python写一个将写一个将Python2代码转换成代码转换成Python3代码的批量处理脚本代码的批量处理脚本
上一篇博客介绍了如何用Python3自带的工具实现将Python2代码转换成Python3代码,详细可见《使用Python内置2to3工具实现Python2.x代码向Python3.x代码的转换》
但是会附带生成bak文件。
本文将用Python来实现将Python2代码转换成Python3代码批处理批处理以及对生成的bak文件批量删除批量删除。
代码如下:
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()))
# 定义一个删除中间文件bak的方法
def del_files(path):
for root , dirs, files in os.walk(path):
for name in files:
if name.endswith(".bak"): #指定要删除的格式
os.remove(os.path.join(root, name))
print ("Delete File: " + os.path.join(root, name))
# dirname 需要转换的文件目录
dirname = "D:/anaconda/pebl/pebl-1.01"
# p2to3FileName 本机Python安装目录下的2to3.py的路径,2to3.py是python自带的工具
p2to3FileName = ("D:/anaconda/Tools/scripts/2to3.py")
Python2toPython3(dirname, p2to3FileName)
del_files(dirname)
贝叶斯网络的pebl包,因为有10多年没有更新,所以就用这个包进行批量处理。
最后所有文件都成功从Python2转换成Python3,并且没有bak文件生成。
代码很简单,就是遍历给定的目录,如果是”.py”文件,就调用Python自己的2to3.py工具进行处理。
作者:Joker 007
weixin_38680308
- 粉丝: 13
- 资源: 889
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0