一秒完成Python3与Python2脚本相互转化的实战方法,您造吗?

开发 后端
Python2和Python3在语法和模块的使用上会有一些差别(这里就不详细讲解了),推荐新手直接使用python3进行代码编写。

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是极其相似的!

责任编辑:姜华 来源: 今日头条
相关推荐

2013-03-26 09:04:16

iOS时间戳与时间相互转化

2018-05-16 09:47:07

数据

2010-02-01 16:32:49

Python脚本

2017-06-07 10:00:56

PythonBeautifulSo解析器

2021-12-15 12:00:17

Pythonpickle存储

2019-12-20 14:10:19

Python脚本语言工具

2017-12-18 17:03:56

Python程序员开发

2020-11-23 09:49:00

Python开发拼音

2019-05-28 10:01:27

超算芯片计算机

2023-04-14 08:50:11

JavaDateLocalDate

2017-11-16 13:49:26

NumPyPython 2核心团队

2010-09-01 08:57:27

jQueryDOM对象

2016-08-10 17:23:36

PythonUrllibURL

2019-08-28 20:34:52

5GHTCVR

2018-07-05 11:05:10

2017-08-01 16:30:11

Python函数程序

2016-12-26 09:49:39

httpstatcurl分析工具

2022-01-17 08:19:51

Javascript 接口前端

2019-12-02 10:50:30

Python 2Python 3编程语言

2010-09-07 13:33:44

云安全技术
点赞
收藏

51CTO技术栈公众号