一、问题描述
大家都知道,Python现在有两个常用的版本,一个是Python2,一个是Python3,有时候,我们得到的代码是用Python2写的,我们如何将其转换为Python3的代码呢?
二、解决方案
其实,Python官方为我们提供了一个工具,就是 2to3.py,但是这个文件在哪呢,又该怎么使用呢?
1、找到 2to3.py。
打开Python3的安装目录,我这里是在 D:\ProgramFiles\Python36,
继续打开D:\ProgramFiles\Python36\Tools\scripts,就可以找到 2to3.py 文件了。
2、将 2to3.py 文件复制到与Python2编写的py文件所在的文件夹内,即两个文件必须在一个文件夹。
demo.py 内容如下:
# -*- coding:utf-8 -*-
'''
功能:解决黄蓉难倒瑛姑的数学题
author:来自江南的你
create:2019-3-25
'''
print "今有物不知其数,三三数之剩二;五五数之剩三;七七数之剩二。问物几何?\n"
for number in xrange(100):
if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
print "答曰:这个数是" + str(number)
break
很明显,我们可以看出,这是使用Python2 写的代码。
3、打开 cmd,进入 test 路径,执行 python 2to3.py -w demo.py
执行完毕:
打开 test 文件夹:
现在有3个文件了,现在的demo.py 就变成了Python3 可执行的文件了,如下:
# -*- coding:utf-8 -*-
'''
功能:解决黄蓉难倒瑛姑的数学题
author:来自江南的你
create:2019-3-25
'''
print("今有物不知其数,三三数之剩二;五五数之剩三;七七数之剩二。问物几何?\n")
for number in range(100):
if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
print("答曰:这个数是" + str(number))
break
当然也不用担心以前的文件丢失了,demo.py.bak 就是之前的文件的备份,我们使用文本编辑器打开: