Python:在Unicode转义的string上使用.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)` 

为什么我得到这个错误? 有没有一个正确的方法来做到这一点? 我需要使用.format()函数。

只要使第二个string也是一个Unicodestring

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

unicode s需要unicode格式的string。

 >>> print u'{0}'.format(s) ≥