pythonpython-3.xpython-2to3unicode-literals

Python 2to3 - do not remove unicode prefixes


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)?


Solution

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