Я мигрирую приложение django с python 2.7.15 на python 3.6.10. У меня есть код, подобный следующему:
re.compile(ur'({number}\d+)'.format(number=numeral_constant.NUMBER_REPLACE_TEXT),
re.UNICODE)
Это работает в Python 2, но чтобы заставить его работать в Python 3, я должен использовать r вместо ur , поскольку строки в Unicode по умолчанию в Python 3 и делают
re.compile(r'({number}\d+)'.format(number=numeral_constant.NUMBER_REPLACE_TEXT),
re.UNICODE)
Теперь это работает в Python 3, но прерывается в Python 2, и я получаю ошибку ' ascii 'code c не может кодировать символы в позиции 3-4: порядковый номер не в диапазоне (128) . Есть ли способ изменить код так, чтобы он работал как Python 2, так и Python 3?
Спасибо