我有一个字典,键是由xlrd从xls解析的,有文件名,有些在utf-8中,有些在其他东西中可能是cp852。我需要通过os.listdir中的文件名来映射数据值,但有些键是其他编码。
def translateTo( self, czechName, toLang ) :
# language orig, here is not used
# cz lang is used as key, therefore -2
if czechName in self.dictionary.keys() :
return self . dictionary [ czechName ][ toLang - 2 ];
else :
return czechName
当我使用此代码时,dictionery的工作方式就像依赖电池一样。 问题:
>>> 'HELUZ H4 - komíny.xml' == 'HELUZ H4 - komíny.xml'
False
在左边是sting in cp852,在lef一边是经典utf-8
我怎么能成真?可以在python中定义自我比较器到dictionery吗?
答案 0 :(得分:0)
我拥有它!
normalize('NFKD','HELUZ H4 - komíny.xml')== normalize('NFKD','HELUZ H4 - komíny.xml')
真