Python: Используя .format () на оставленной из Unicode строке

Я использую Python 2.6.5. Мой код требует использования "больше чем или равный" знаку. Здесь это идет:

>>> s = u'\u2265'
>>> print s
>>> ≥
>>> print "{0}".format(s)
Traceback (most recent call last):
     File "<input>", line 1, in <module> 
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2265'
  in position 0: ordinal not in range(128)`  

Почему я получаю эту ошибку? Существует ли правильный способ сделать это? Я должен использовать .format() функция.

154
задан Dima Tisnek 9 January 2017 в 09:48
поделиться

2 ответа

Просто сделайте вторую строку также строкой юникода

>>> s = u'\u2265'
>>> print s
≥
>>> print "{0}".format(s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2265' in position 0: ordinal not in range(128)
>>> print u"{0}".format(s)
≥
>>> 
241
ответ дан 23 November 2019 в 22:00
поделиться

unicode s нужны строки формата unicode .

>>> print u'{0}'.format(s)
≥
69
ответ дан 23 November 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: