在 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/