有人能解释为什么python2.7x中的中间代码摘录会抛出错误吗
import re
walden = "Waldenström"
walden
print(walden)
s1 = "ö"
s2 = "Wal"
s3 = "OOOOO"
out = re.sub(s1, s3, walden)
print(out)
out = re.sub("W", "w", walden)
print(out)
# I need this one to work
out = re.sub('W', u'w', walden)
# ERROR
out = re.sub(u'W', 'w', walden)
print(out)
out = re.sub(s2, s1, walden)
print(out)
我很困惑,已经试过看手册了
walden
是str
:此代码用
unicode
字符串替换字符:结果应该是
u'w' + "aldenström"
。这是失败的部分为了连接
str
和unicode
,必须首先将两者转换为unicode
。结果也是unicode
问题是,解释器不知道如何将
'ö'
转换为unicode,因为它不知道使用哪种编码。结果不明确解决方案是在进行更换之前先转换自己:
encoding
应该是用来创建该文件的相关问题 更多 >
编程相关推荐