2017-05-27 3 views
0

ファイルがソフトリンクか通常ファイルかをチェックしようとしています。しかし、os.path.isfileとos.path.linkを使ってソフトリンクをチェックしているときは、両方の関数がTrueを返します。os.path.isfileとos.path.islinkがソフトリンクのためにtureを返すのはなぜですか?

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* 

コードに間違いがありますか?または私は引数を紛失していますか?

+0

あなたはlstatしたいです。 –

答えて

1

islinkは/ bin/lessfileがリンクであるためTrueを返します。 isfileは、リンクがファイルを指しているためTrueを返します。ディレクトリを指すリンクを作成してテストします - isfileはFalseを返します。

関連する問題