比较文件相等性的最佳方法是什么?

2024-05-14 19:09:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有两条路:

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")

我并不特别关心下面的符号链接或者其中一个文件是否不存在。你知道吗


Tags: 文件path方法py路径oslol缺点
2条回答

前者遵循符号链接,而后者则不遵循。如果您希望这些文件是同一个文件,那么使用samefile是“正确”的方法。如果您只想检查路径是否指向同一个位置(忽略符号链接),可以使用后者。你知道吗

如果您不关心这些文件是否存在,那么os.path.samefile()将不适用于您,因为它实际上比较i节点号。这就留下了比较绝对路径的唯一选择。你知道吗

相关问题 更多 >

    热门问题