gpt4 book ai didi

python - 检查目录是否是符号链接(symbolic link)?

转载 作者:太空狗 更新时间:2023-10-30 01:55:05 25 4
gpt4 key购买 nike

os 中有一个函数 os.path.islink(PATH) 检查 PATH 是否是符号链接(symbolic link)。但是如果 PATH 是指向某个目录的符号链接(symbolic link)时失败。相反——python 认为它是目录 (os.path.isdir(PATH))。那么如何检查目录是否为链接?

编辑:

这是 bash 的想法:

~/scl/bkbkshit/Teaching: file 2_-_Classical_Mechanics_\(seminars\)
2_-_Classical_Mechanics_(seminars): symbolic link to `/home/boris/wrk/tchn/2_-_Classical_Mechanics_(seminars)'

下面是 python 的想法:

In [8]: os.path.islink("2_-_Classical_Mechanics_(seminars)/")
Out[8]: False

最佳答案

发生这种情况是因为您在文件名末尾放置了一个斜杠。

os.path.islink("2_-_Classical_Mechanics_(seminars)/")
^

结尾的斜杠导致操作系统跟随链接,因此结果是不是链接的目标目录。如果删除斜杠,islink 将返回 True

同样的事情也发生在 Bash 中:

g@ubuntu:~$ file aaa
aaa: symbolic link to `/etc'
g@ubuntu:~$ file aaa/
aaa/: directory

关于python - 检查目录是否是符号链接(symbolic link)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718006/

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