以下代码:
s = s.replace(u"&", u"&")
在python中导致错误:
SyntaxError: invalid syntax
在u
修复问题之前移除"
,但这应该按原样运行?我正在使用Python 3.1
答案 0 :(得分:10)
Python 3中不再使用u
。默认情况下,字符串文字是unicode。请参阅What's New in Python 3.0。
您无法再将
u"..."
字面值用于Unicode文本。但是,您必须将b"..."
文字用于二进制数据。
答案 1 :(得分:3)
在Python 3上,字符串是unicode。没有必要(并且你已经发现,你不能)在字符串文字之前放置一个u
来指定unicode。
相反,您必须在字节文字前加上b
来指定它不是 unicode。
答案 2 :(得分:1)
在Python3.3 + unicode文字中再次有效,请参阅What’s New In Python 3.3:
新语法功能:
生成器委派表达式的新收益率。
str对象再次接受u'unicode'语法。