Windows 和 Unix 中双点和符号链接的不同行为

Windows 和 Unix 中双点和符号链接的不同行为

在 unix 下,symlink/..指的是目标的父目录。在 Windows 中试验符号链接和连接时,我发现指symlink/..的是符号链接本身的父目录,而不是其目标的父目录。

所以:

A
|--Link_To_C           [ symlink to B/C ]
|--B
   |--C

在 Unix 中:A/Link_To_C/..解析为A/B
在 Windows 中:A/Link_To_C/..解析为A

第一个问题:一直都是这样吗?

如果是这样,我可以使用以下方法规范化 Windows 中的任何(本地)路径吗?例如,os.path.normpath在 Python 中,没有符号链接的问题?文档说:

通过折叠冗余分隔符和上级引用来规范化路径名,以便 A//B、A/B/、A/./B 和 A/foo/../B 都变成 A/B。此字符串操作可能会改变包含符号链接的路径的含义

(值得一读https://stackoverflow.com/questions/34865153/os-path-normpath-and-symbolic-links

这不适用于 Windows,这样说正确吗?

相关内容