1. ホーム
  2. python

[解決済み] Pythonでファイルがシンボリックリンクであるかどうかを確認する方法は?

2022-09-27 01:43:31

質問

Pythonで、与えられたファイル/ディレクトリがシンボリックリンクであるかどうかをチェックする関数はありますか?例えば、以下のファイルについて、私のラッパー関数は、以下を返す必要があります。 True .

# ls -l
total 0
lrwxrwxrwx 1 root root 8 2012-06-16 18:58 dir -> ../temp/
lrwxrwxrwx 1 root root 6 2012-06-16 18:55 link -> ../log

どのように解決するのですか?

ディレクトリエントリがシンボリックリンクであるかどうかを判断するには、次のようにします。

os.path.islink(path)

pathがシンボリックリンクであるディレクトリエントリを参照している場合、Trueを返します。 リンクであるディレクトリエントリを参照している場合は真を返します。シンボリックリンクがサポートされていない場合は常にFalseを返します。

例えば、与えられた

drwxr-xr-x   2 root root  4096 2011-11-10 08:14 bin/
drwxrwxrwx   1 root root    57 2011-07-10 05:11 initrd.img -> boot/initrd.img-2..

>>> import os.path
>>> os.path.islink('initrd.img')
True
>>> os.path.islink('bin')
False