【发布时间】:2019-05-23 21:08:08
【问题描述】:
正如标题所说,如何将所有:print "string",在 Python2 中替换为:print("string"),对于 Python3?
我真的希望他们使这一功能向后兼容。官方建议使用 2to3.py 脚本,但它似乎总是我需要在 Py2 脚本示例中替换的打印语句,比如在笔记本或 Jupyter 实验室中运行(这使得 2to3.py 不那么吸引人 - 除非他们实施转换器!)
.
@Bazingaa、@Wiktor Stribiżew、@jpp:不重复,即不转发兼容性。即,我不是在问如何在 Python2 中使用 Python3 语法,这将是前向兼容,但相反的是反向兼容。
@jpp 我对您的阅读理解水平感到震惊,即使在添加了说明之后也是如此。我最初在下面的答案中包含了那些“可能的重复项”,并解释了差异(在添加标签和评论之前您一定也没有阅读过),这并没有“给我我正在寻找的东西”。感谢“危险”的谨慎,但您再次错过了重点,我正在使用 Python 3..试图在旧教程脚本中更改 Python 2 的语法 .不知道你怎么会读错两次。我下面的解决方案是有效的,我已经寻找了多年,并且无疑会帮助到这里的其他人。
【问题讨论】:
-
不重复,即不向前兼容。
-
添加了一些重复项,为您提供所需的正则表达式。此外,正式的 Python 2 很快将不再受支持。使用 Python 2 后果自负。
-
不要使用正则表达式,而是从 cli 运行
2to3(按照它的帮助)