如何将python3.6.2中的代码转换为python2.6.6

时间:2018-11-15 07:49:19

标签: python python-3.x python-2.7

我已经在python3.6.2中编写了代码,但是在我的生产服务器中python2.6.6可用,所有语法会有什么不同?

我在Python 3.6.2中使用过print(如果没有的话)用于循环,函数和列表。

请帮助我。

3 个答案:

答案 0 :(得分:2)

来自python文档:

  

为了保持兼容性,您创建的任何新模块都应   至少在其顶部具有以下代码块:

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

这将解决打印中的括号问题,5/2 = 2.5(在python3中)与2(在python2中)。但是,可能还存在其他一些问题。您需要手动检查并更正这些问题。

答案 1 :(得分:0)

打印报表

Python 2:

print 'Hello, World!'  
print('Hello, World!')  
print "text", ; print 'print more text on the same line'

Python 3:

print('Hello, World!') 
print("some text,", end="") 
print(' print more text on the same line')

用于循环

Python 2:

i = 1
print 'before: i =', i
print 'comprehension: ', [i for i in range(5)]
print 'after: i =', i

Python 3:

i = 1
print('before: i =', i)
print('comprehension:', [i for i in range(5)])
print('after: i =', i)

答案 2 :(得分:-1)

主要区别是括号(),因为在python 3中,括号()的使用率高于两个括号。

例如python 3:     打印(字符串)

和在python 2中:     打印字符串

这是您必须进行的主要更改(打印语句)。

还有两个用于转换代码的开源程序(您可以在PyPI.org上找到):

2to3-用于将python 2转换为python 3

3to2-用于将python 3转换为python 2

这些作品经常出现,但并不完美