在python 3文件中运行python 2代码

时间:2017-12-03 02:30:36

标签: python-3.x python-2.7

有没有办法在python 3文件中运行python 2代码? 我必须使用在python 2中编码的函数,它位于python 2文件中。但我需要导入它并在python 3文件中使用该函数。是否可以运行该功能就像一个python 2模式?

1 个答案:

答案 0 :(得分:0)

使用Python 3无法运行Python 2代码,至少不是这样。虽然手工转换是相当直接的。

如果您有长文件,您还应该考虑使用2to3,这将使用所需的修补程序来使您的代码与Python 3一起运行。

如果您已经安装了Python 3,则只需在终端中运行以下命令即可。

2to3 your_file_name.py

请注意,有时2to3将无法从Python2转换为Python3。如果它注意到它,它会给你警告并指出你必须手动修复的行。

虽然,2to3甚至没有注意到输出代码不起作用也可能发生。这就是你在评论中给我的例子中发生的事情:

input('Type text here: ').encode('utf-8').encode('hex')

由于您可以浏览here的原因,这在Python3中无效。

2to3没有意识到这是因为这实际上是语法上完全有效的代码。实际上,您可以通过一种方式预示inputstr.encode,从而制作出正常运作的代码。

总之,有时您必须自己阅读错误并修复代码。