1
我正在構建一個需要兩個文件的程序,經過一些處理後,我必須比較這些文件的某些部分。控制檯中的Python xYZ字符
舉個例子,當我打印兩個字符串我想比較,它看起來像這樣:
CSV = 'UC013. MANTER ITEM DE NOTA FISCAL/NOTA DE SERVI\xc3\x87O/RECIBO'
DOC = 'UC013. MANTER ITEM DE NOTA FISCAL/NOTA DE SERVI\xc7O/RECIBO'
兩者應該是相同的:
'UC013. MANTER ITEM DE NOTA FISCAL/NOTA DE SERVIÇO/RECIBO'
我怎樣才能打印在控制檯中正確的字符並正確比較字符串?
非常感謝您的幫助。
感謝您的詳細解答。現在,我使用相同的編碼獲得了兩個字符串,但是當我在控制檯上打印它們時,我仍然得到了這樣的事情:'UC019。 MANTER PRODUTO - CONFEC \ xc7 \ xc3O'。我應該能夠使用CSV.decode('unicode_escape')正確地打印字符,但是我得到:UnicodeEncodeError:'ascii'編解碼器無法編碼位置25-26中的字符:序號不在範圍(128)中。請幫忙嗎? –
我注意到我的日誌記錄模塊是壞的...如果我只是使用打印,它工作正常...我不知道如何解決這個問題。非常感謝我們的幫助! –
如果您嘗試將非ASCII字符寫入不支持它的控制檯,python不會喜歡。你使用哪個控制檯和操作系統?如果python無法確定控制檯使用哪種編碼(通常通過查看「LANG」環境變量),則「sys.stdout.encoding」默認爲「ANSI_X3.4-1968」。嘗試設置一個合理的輸出編碼... – mata