Python 2to3 - do not remove unicode prefixes

371 Views Asked by At

I am converting a legacy codebase to python3 and do some dry runs of 2to3. 2to3 removes the u'' prefix from unicode literals creating a lot of noise in the diffs. Is there a way to disable this (as u'my string' is valid py3 syntax)?

2

There are 2 best solutions below

0
Colas On BEST ANSWER

From the help:

2to3 --help
...
  -x NOFIX, --nofix=NOFIX
                        Prevent a transformation from being run
  -l, --list-fixes      List available transformations
...

With --list-fixes, we find the transformation to ignore, unicode.

Result: 2to3 --nofix=unicode.

0
Kota Mori On

According to https://docs.python.org/2/library/2to3.html, you can exclude certain set of fixers by -x option.

Perhaps the following would do what you want.

2to3 -x unicode example.py