【发布时间】:2021-01-09 19:53:09
【问题描述】:
我正在尝试在 Win10 上使用 2to3 将库从 Py 2.7.x 转换为 Py 3.7.x。以下参考来自here。
我已经看到,要转换 Python 的某些部分,您需要显式添加 Fixers,特别是:
成语
这个可选的修复器执行几个转换,使 Python 代码更惯用。像 type(x) 这样的类型比较是 SomeClass 并且 type(x) == SomeClass 被转换为 isinstance(x, SomeClass)。 while 1 变为 while True。该修复程序还尝试利用 sorted() 在适当的地方。比如这个块
L = list(some_iterable) L.sort() 改为
L = 已排序(some_iterable)
所以我将它添加到我的命令行中:
2to3 --output-dir=C:\my\py3\module -f all -f buffer -f idioms -f set_literal -f ws_comma -W -n C:\my\py2\module
2to3 将在 C:\my\py3\module 文件夹中生成正确的文件,但 list.sort() 尚未解析为 sorted(list)
我在这里错过了什么?
【问题讨论】:
-
list.sort()仍然是一个东西 - 它对列表进行了适当的排序。sorted(..)创建一个新的排序列表并返回它..
标签: python python-3.x python-2.7 python-2to3