gpt4 book ai didi

python - os.path.normpath 和符号链接(symbolic link)

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:29 25 4
gpt4 key购买 nike

os.path.normpath 的文档阅读以下内容:

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

什么情况和例子适用于这里,意思会改变?这个函数的应用会在哪里不安全,解决方法是什么?

最佳答案

免责声明:我对此不是 100% 确定,现在无法访问 *nix 系统进行检查。你可能想要检查,或者等到评论者告诉我我是对还是错 ;-)

也就是说,这是我的答案:

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

用同样的例子,假设:

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

所以:

  1. A/foo/../B 表示“目录 B,在 A/foo 的父目录中”。
  2. A/foo 是/X/Y 的符号链接(symbolic link),所以“目录 B,在 A/foo 的父目录中”实际上意味着“目录 B,在/X/Y 的父目录中"
  3. /X/Y的父目录是/X,所以“目录B,在/X/Y的父目录”真正的意思是“目录B,在/X”。
  4. 所以A/foo/../B实际上是指/X/B

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

关于python - os.path.normpath 和符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com