Bei zwei gegebenen Pfaden muss ich vergleichen, ob sie auf dieselbe Datei zeigen oder nicht. In Unix kann dies mit os.path.samefile
geschehen, aber wie die Dokumentation angibt, ist es in Windows nicht verfügbar.
Was ist der beste Weg, um diese Funktion zu emulieren?
Es muss keinen häufigen Fall emulieren. In meinem Fall gibt es die folgenden Vereinfachungen:
Jetzt verwende ich Folgendes:
%Vor%Ist das OK?
Nach issue # 5985 befinden sich die os.path.samefile und os.path.sameopenfile jetzt in py3k. Ich habe dies in Python 3.3.0 überprüft.
Für ältere Versionen von Python gibt es einen Weg, der die GetFileInformationByHandle Funktion:
Der Systemaufruf os.stat gibt ein Tupel mit vielen Informationen über jede Datei zurück - einschließlich Zeitstempel für Erstellung und letzte Änderung, Größe, Dateiattribute. Die Wahrscheinlichkeit, dass verschiedene Dateien die gleichen Parameter haben, ist sehr gering. Ich denke, es ist sehr vernünftig zu tun:
%Vor%Tags und Links python filesystems