2024-05-14 19:09:13 发布
网友
假设我有两条路:
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")
我并不特别关心下面的符号链接或者其中一个文件是否不存在。你知道吗
前者遵循符号链接,而后者则不遵循。如果您希望这些文件是同一个文件,那么使用samefile是“正确”的方法。如果您只想检查路径是否指向同一个位置(忽略符号链接),可以使用后者。你知道吗
samefile
如果您不关心这些文件是否存在,那么os.path.samefile()将不适用于您,因为它实际上比较i节点号。这就留下了比较绝对路径的唯一选择。你知道吗
os.path.samefile()
前者遵循符号链接,而后者则不遵循。如果您希望这些文件是同一个文件,那么使用
samefile
是“正确”的方法。如果您只想检查路径是否指向同一个位置(忽略符号链接),可以使用后者。你知道吗如果您不关心这些文件是否存在,那么
os.path.samefile()
将不适用于您,因为它实际上比较i节点号。这就留下了比较绝对路径的唯一选择。你知道吗相关问题 更多 >
编程相关推荐