一秒完成Python3与Python2脚本相互转化的实战方法,您造吗?
Python2和Python3在语法和模块的使用上会有一些差别(这里就不详细讲解了),推荐新手直接使用python3进行代码编写。实际工作中有很多运维或者测试脚本还在使用python2持续运行,当我们遇到批量工作需要把python3转化成python2(或者把python2转化成python3)的时候,我们该如何处理呢?是不是需要一行一行地手动去修改代码呢?答案是否定的,本文就来介绍一下具体的实施方案。
python 2转python 3
Python3.7(自带转化工具C:\Python37\Tools\scripts\2to3)我们可以直接在cmd命令行中使用它:
python 2to3.py -w D:/test.py #python2的test.py 转换为python3
test.py文件很简单就是打印语句
print "hello.py"
C:\Python37\Tools\scripts>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:\Python37\Scripts 中生成一个文件叫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是极其相似的!
相关文章
- 基于Python的人脸识别考勤监控
- Python答题游戏
- Python调用百度API实现图像识别
- Python全栈疫情分析项目
- Python-基础-if语句快速入门
- Python-基础-循环语句快速入门
- Python-GUI签名
- 【2】VScode 搭建python和tensorflow环境
- python 简易时钟
- 【1】windows系统如何安装后缀是whl的python库
- 【2】超级详细Python-matplotlib画图,手把手教你画图!(线条颜色、大小、线形、标签)
- 【4】python读写文件操作---详细讲解!
- 【2】Anaconda下:ipython文件的打开方式,Jupyter Notebook中运行.py文件,快速打开ipython文件的方法!
- 【编写环境一】遇到常见python函数处理方式
- 【编写环境二】python库scipy.stats各种分布函数生成、以及随机数生成【泊松分布、正态分布等】
- Python xlwt数据保存到 Excel中以及xlrd读取excel文件画图
- 强化学习技巧三:Python多进程
- 强化学习技巧五:numba提速python程序
- 【7】python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决
- 【8】python_matplotlib改变横坐标和纵坐标上的刻度(ticks)、sagemath-list_plot()调整图例(legend)中点的数量、Matplotlib画各种论文图