所以我想比较两个字符串,有时候其中一个字符串类型为" unicode"有时其中一个将是#34; str"。
这就是我目前所得到的:
def poll_change(self):
''' Returns a tuple (has_changed, new_element_str) '''
new_element = self.find_element()
old_element = self.read_element_str()
# TODO: handle compare correctly
if type(new_element) is not type(old_element):
changed = False
else:
changed = new_element != old_element
return changed, new_element
对此最好的解决方案是什么?
现在我只是返回False
如果字符串的类型不相等,但我想比较它们。
如果我将unicode与str进行比较,我会收到错误。
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/difflib.py:433: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
a[besti-1] == b[bestj-1]
我正在使用Python 2.7
答案 0 :(得分:-2)
>>> u"a" == "a"
True
>>> "a" == "a"
True
>>> u"a" == u"a"
True
那么问题是什么?或者你的意思是你想要比较类型?