Ich bin auf der Suche nach doppelten Dateien durch den Dateinamen vergleichen.String vergleichen in Python
Allerdings habe ich festgestellt, einige Pfade von os.walk
zurückgegebene Zeichen zurückgeben. Zum Beispiel kann ich structure in the Earth\'s core.pdf
für eine Datei und structure in the Earth\xe2\x80\x99s core.pdf
für eine andere erhalten.
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
Wie gehe ich mit diesen Fällen um?
==== einfach die Q in Reaktion auf die Kommentare zu klären, gibt es auch andere Situationen für doppelte Dateien wie
- einen Dateinamen mehr Räume als die andere
- einen Dateinamen enthält, getrennt durch
-
während die andere durch:
- ein Dateiname Japanisch/Chinesisch Wörter und die andere besteht aus Ziffern und Japanisch/Chinesisch Wort ...
sie sind zwei verschiedene Zeichen ... '' 'ist nicht gleich' ''. Sie ersetzen eins durch das andere oder vergleichen nur die Alpha-Numerik eines gegebenen Satzes. – kaza
Sie sind nicht die * gleichen *, weil sie unterschiedliche Codierung verwenden, um die gleiche _general_ visuelle Erscheinung zu erstellen. c.f. [this] (https://stackoverflow.com/questions/32761954/how-to-decode-an-ascii-string-with-backslash-x-x-codes) Link für eine ähnliche Diskussion. Sie sind verschiedene Charaktere, wie @bulbus Notizen. Das zu beheben ist kompliziert, da es eine Dose Würmer öffnet, die zeigen, wie viele Möglichkeiten es gibt, etwas zu sagen, das intellektuell ähnlich ist, aber nicht buchstäblich dasselbe ist. –
Sie könnten versuchen, sie auf "Wörterbuch" -Darstellung herunterzukochen, alle nicht-alphanumerischen Zeichen vor dem Vergleich zu streichen und einen Bericht zu schreiben. –