【发布时间】:2014-02-17 19:55:36
【问题描述】:
假设我有 2 条路径:
derp.py
/lol/lel/doge/derp.py
如何检查两个路径是否引用同一个文件?我已经看到了两种方法来做到这一点,但它们都有什么缺点。
os.path.samefile("derp.py", "/lol/lel/doge/derp.py")
os.path.abspath("derp.py") == os.path.abspath("/lel/lol/doge/derp.py")
我并不特别关心以下符号链接或其中一个文件是否不存在。
【问题讨论】:
-
首先你必须定义“文件的平等”。一样的内容?还是字面上的 same 文件(符号链接)?
-
我不介意你是比较内容,还是符号链接,或者只是路径(没有符号链接),我认为所有这些都对我有用。但是,最好描述一下这些方法的优缺点。
-
你是什么意思“不关心文件是否不存在” - 在这种情况下应该发生什么?如果都不存在文件会发生什么?
-
@KarlKnechtel 如果其中一个不存在,那么文件当然不一样! (但其中之一应该始终存在。)