2to3: Python2代码转换为Python3
1. 前言
之前写的 Python 2 代码,可以通过官方自带工具 2to3
1 自动转换为 Python 3 代码。
经过测试, Python 3.9.13 可以用 2to3 工具。
2. 用法
2to3 -n -W --add-suffix=3 example.py
会生成 example.py3 。
说明:
- -n 将备份原始文件
- -w 标志启用回写回更改
- -l 标志列出了所有可用的修复程序
- -f 给出要运行的显式修复程序集
- -x 明确禁用了修复程序
- -v 可以输出有关翻译过程的更多信息。
Usage: 2to3 [options] file|dir ...
Options:
-h, --help show this help message and exit
-d, --doctests_only Fix up doctests only
-f FIX, --fix=FIX Each FIX specifies a transformation; default: all
-j PROCESSES, --processes=PROCESSES
Run 2to3 concurrently
-x NOFIX, --nofix=NOFIX
Prevent a transformation from being run
-l, --list-fixes List available transformations
-p, --print-function Modify the grammar so that print() is a function
-e, --exec-function Modify the grammar so that exec() is a function
-v, --verbose More verbose logging
--no-diffs Don't show diffs of the refactoring
-w, --write Write back modified files
-n, --nobackups Don't write backups for modified files
-o OUTPUT_DIR, --output-dir=OUTPUT_DIR
Put output files in this directory instead of
overwriting the input files. Requires -n.
-W, --write-unchanged-files
Also write files even if no changes were required
(useful with --output-dir); implies -w.
--add-suffix=ADD_SUFFIX
Append this string to all output filenames. Requires
-n if non-empty. ex: --add-suffix='3' will generate
.py3 files.