# 2to3

> 自动将 Python 2 代码转换成 Python 3.
> 自 3.11 起，该模块已被弃用，并自 3.13 起被移除。
> 参考请见：<https://github.com/python/cpython/blob/8d42e2d915c3096e7eac1c649751d1da567bb7c3/Doc/whatsnew/3.13.rst?plain=1#L188>.
> 更多信息：<https://manned.org/2to3>.

- 显示将执行的变动但不执行（dry-run）：

`2to3 {{路径/到/文件.py}}`

- 将 Python 2 文件转化为 Python 3：

`2to3 --write {{路径/到/文件.py}}`

- 将 Python 2 语言特性转化为 Python 3：

`2to3 --write {{路径/到/文件.py}} --fix {{raw_input}} --fix {{print}}`

- 除了某个语言特性外将所有其他的 Python 2 语言特性转化为 Python 3：

`2to3 --write {{路径/到/文件.py}} --nofix {{has_key}} --nofix {{isinstance}}`

- 列出 Python 2 所有可转化为 Python 3 的语言特性：

`2to3 --list-fixes`

- 将某一文件夹的所有 Python 2 文件转化为 Python 3：

`2to3 --output-dir {{路径/到/Python 3 目录}} --write-unchanged-files --nobackups {{路径/到/Python 2 目录}}`

- 使用多线程运行 2to3：

`2to3 --processes {{4}} --output-dir {{路径/到/Python 3 目录}} --write --nobackups --no-diff {{路径/到/Python 2 目录}}`
