1
我正在通過比較文件名來查找重複文件。python中的字符串比較
但是,我發現os.walk
返回的一些路徑包含轉義字符。例如,對於一個文件,我可能得到structure in the Earth\'s core.pdf
,另一個文件可能得到structure in the Earth\xe2\x80\x99s core.pdf
。
In [1]: print 'structure in the Earth\'s core.pdf\nstructure in the Earth\xe2\x80\x99s core.pdf'
structure in the Earth's core.pdf
structure in the Earth’s core.pdf
In [2]: 'structure in the Earth\'s core.pdf' == 'structure in the Earth\xe2\x80\x99s core.pdf'
Out[2]: False
我該如何處理這些情況?
==== 只是爲了澄清的Q迴應的意見,也有其他的情況下重複文件,如含有較多的空間比分隔其他
- 一個文件名
-
而其他含有日本/中國話:
- 一個文件名和其他的數字和日本/中國單詞組成...
它們是兩個不同的字符......'''不等於'''。您將一個替換爲另一個,或僅比較給定句子的字母數字。 – kaza
它們不是*相同*,因爲它們使用不同的編碼來創建相同的_general_視覺外觀。 C.F. [this](https://stackoverflow.com/questions/32761954/how-to-decode-an-ascii-string-with-backslash-x-codes)鏈接進行類似的討論。它們是@bulbus筆記中的不同字符。解決這個問題非常複雜,因爲它會打開一堆蠕蟲,說明有多少種可能的方式來表達一些智力相似但卻不完全相同的東西。 –
您可以嘗試將它們翻譯爲「字典」表示法,在比較和編寫報告之前剝離所有非字母數字。 –