Python: Использование.format() в строке, экранированной в Юникоде
Я использую 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)`
почему я получаю эту ошибку? Есть ли правильный способ сделать это? Мне нужно использовать
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) ≥ >>>