我使用庫「suds」與SOAP服務器進行通信。 請求已成功完成後,我得到的答案:奇怪的Python類型「文本」?
answer = client.invoke('RetrieveBLABLAObject', modelthings)
這個答案是請求對象的不同領域的結構。每個字段是由「字符串」參數「_type」和參數「value」組成的結構,可能有不同的類型。
answer [key] [value] - 返回參數「value」的值。但是在調試模式下(我使用Python 2.7.6和PyCharm),它顯示出該值的類型爲「文本」。不是「str」,而不是「unicode」,而是「文本」。
如果我通過
isinstance(obj[cur_key]['value'], unicode)
檢查一下它讓我發現,它計數該文本爲「統一」。但是,如果我用同一個身體使用Unicode進行比較,則返回false:
if obj[cur_key]['value'] != u'String that I know is there':
print("true") #it is printing, but it shouldn't
爲什麼出現這種情況?我如何將「文本」轉換爲unicode? 我試過
obj[cur_key]['value'].decode('utf-8')
它與例外。我如何處理這種「文本」類型?
'repr(obj [cur_key] ['value'])'給了你什麼?什麼例外? – geoffspear
@Martijn是對的,它是子類,和他描述的一切。無論如何,謝謝您的幫助。 – Arkady