2to3
Automated Python 2 to 3 code translation.
TLDR
Display the changes that would be performed without performing them (dry-run)
$ 2to3 [path/to/file.py]
Convert a Python 2 file to Python 3
$ 2to3 --write [path/to/file.py]
Convert specific Python 2 language features to Python 3
$ 2to3 --write [path/to/file.py] --fix=[raw_input] --fix=[print]
Convert all Python 2 language features except the specified ones to Python 3
$ 2to3 --write [path/to/file.py] --nofix=[has_key] --nofix=[isinstance]
Display a list of all available language features that can be converted from Python 2 to Python 3
$ 2to3 --list-fixes
Convert all Python 2 files in a directory to Python 3
$ 2to3 --output-dir=[path/to/python3_directory] --write-unchanged-files --nobackups [path/to/python2_directory]
Run 2to3 with multiple threads
$ 2to3 --processes=[4] --output-dir=[path/to/python3_directory] --write --nobackups --no-diff [path/to/python2_directory]
SYNOPSIS
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
- -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