Можно ли избежать форматирования строки в старом стиле '%' для этой строки python - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь удалить все следы форматирования строк старого стиля в нашем коде python (2.7). Однако я привел пример, когда кажется, что работает только старый стиль.

>>> x = u'\xa3'
>>> y = '{}'.format(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 0: ordinal not in range(128)

А вот код, использующий старый стиль, который работает нормально

>>> y = '%s' % x

Есть ли способ заставить эту работу использовать какой-либо синтаксис {}?

1 Ответ

1 голос
/ 13 марта 2020

Вместо этого вы можете использовать литерал Юникода:

y = u'{}'.format(x)
...