Convert python 2 to 3

By Xah Lee. Date: . Last updated: .

Convert python 2 to 3

Use the tool at 2to3. It is installed if you have python3 installed.

2to3 filename

2to3 filename -w → write to file

It's helpful for small scripts, or to get an idea which part needs to change.

Here's a example python 2 to python 3 conversion differences, just to give a idea.

python 2to3 2020-12-17 ZPFx4
python 2to3, 2020-12-17

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
-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.

python 2, python 3