os.path.normpath和符号链接

2024-06-11 03:01:40 发布

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

^{}的文档如下:

This string manipulation may change the meaning of a path that contains symbolic links.

什么情况和例子适用于这里的含义会发生变化?此功能的应用在哪里是不安全的?有什么解决办法?在


Tags: ofthepath文档stringthat情况links
1条回答
网友
1楼 · 发布于 2024-06-11 03:01:40

免责声明:我对此不是百分之百的肯定,也没有权限访问*nix系统进行检查。你可能需要检查一下,或者等到评论者告诉我我是对是错;-)

也就是说,我的答案是:

在给定的示例A/foo/../B->;A/B。如果没有符号链接,一切都很好。在

用同样的例子,假设:

  • 我们当前在根目录/
  • A在根目录中(/A)
  • A/foo是指向目录/X/Y的符号链接
  • /X/B是一个目录

所以:

  1. A/foo/../B表示“目录B,它在A/foo的父目录中”。在
  2. A/foo是指向/X/Y的符号链接,因此“目录B,在A/foo的父目录中”实际上意味着“目录B,在/X/Y的父目录中”
  3. /X/Y的父目录是/X,所以“目录B,在/X/Y的父目录中”实际上是指“目录B,在/X中”。在
  4. 所以A/foo/../B实际上是指/X/B。在

在这种情况下,A/foo/../B到{}的规范化是不正确的,它应该规范化为/X/B。在

相关问题 更多 >