有没有办法在python 3文件中运行python 2代码? 我必须使用在python 2中编码的函数,它位于python 2文件中。但我需要导入它并在python 3文件中使用该函数。是否可以运行该功能就像一个python 2模式?
答案 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
没有意识到这是因为这实际上是语法上完全有效的代码。实际上,您可以通过一种方式预示input
或str.encode
,从而制作出正常运作的代码。
总之,有时您必须自己阅读错误并修复代码。