为什么os.path.isfile和os.path.islink返回软链接?

时间:2017-05-27 16:45:53

标签: python python-3.x path operating-system

我正在尝试检查文件是软链接还是常规文件。但是当我使用os.path.isfile和os.path.link检查软链接时,两个函数都返回True。

In [34]: os.path.isfile('/bin/lessfile')
Out[34]: True

In [35]: os.path.islink('/bin/lessfile')
Out[35]: True

In [36]: ll /bin/lessfile
lrwxrwxrwx 1 root 8 Apr 29 15:22 /bin/lessfile -> lesspipe*

我的代码有什么问题吗?或者我错过任何论点?

1 个答案:

答案 0 :(得分:2)

islink返回True,因为/ bin / lessfile是一个链接。 isfile返回True,因为链接指向文件。创建指向目录的链接并进行测试 - isfile将返回False。