在os那里有一个os.path.islink(PATH)检查是否PATH是符号链接的函数.但是当PATH是某个目录的符号链接时失败.相反 - python认为它是directory(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)'
Run Code Online (Sandbox Code Playgroud)
这是什么python想法:
In [8]: os.path.islink("2_-_Classical_Mechanics_(seminars)/")
Out[8]: False
Run Code Online (Sandbox Code Playgroud)
int*_*jay 11
发生这种情况是因为您在文件名的末尾添加了斜杠.
os.path.islink("2_-_Classical_Mechanics_(seminars)/")
^
Run Code Online (Sandbox Code Playgroud)
尾部斜杠使操作系统跟随链接,因此结果是目标目录,而不是链接.如果删除斜线,islink将返回True.
同样的事情也发生在Bash中:
g@ubuntu:~$ file aaa
aaa: symbolic link to `/etc'
g@ubuntu:~$ file aaa/
aaa/: directory
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3611 次 |
| 最近记录: |