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笔记中的不同字符。解决这个问题非常复杂,因为它会打开一堆蠕虫,说明有多少种可能的方式来表达一些智力相似但却不完全相同的东西。 –
您可以尝试将它们翻译为“字典”表示法,在比较和编写报告之前剥离所有非字母数字。 –