Python fnmatch translate正在转义unicode字符

Python fnmatch translate正在转义unicode字符,python,unicode,Python,Unicode,我正在使用以下代码 str = fnmatch.translate(u'ö') print str 但打印出来的是 '\ö' 我缺少什么吗?的目的是将shell模式转换为正则表达式。在非ascii字符前面添加反斜杠可能不够简洁,但它仍然可以作为正则表达式正常工作: In [25]: re.match('\ö', u'ö') Out[25]: <_sre.SRE_Match object at 0x92fef38> [25]中的re.match('\ö',u'ö') 出[25]:

我正在使用以下代码

str = fnmatch.translate(u'ö')
print str
但打印出来的是

'\ö'
我缺少什么吗?

的目的是将shell模式转换为正则表达式。在非ascii字符前面添加反斜杠可能不够简洁,但它仍然可以作为正则表达式正常工作:

In [25]: re.match('\ö', u'ö')
Out[25]: <_sre.SRE_Match object at 0x92fef38>
[25]中的
re.match('\ö',u'ö')
出[25]:
只有当反斜杠位于某些字符之前(例如数字、
a
b
b
d
,…)时,反斜杠才具有特殊意义。如果反斜杠位于其他字符之前,例如
“ö”
,则反斜杠将被忽略