2013年1月23日水曜日

Python のファイル、ディレクトリ、シンボリックリンク判定

Python のファイル、ディレクトリ、シンボリックリンク判定をまとめてみました。


os.path.exists() os.path.lexists() os.path.isfile() os.path.isdir() os.path.islink()
実ディレクトリ True True False True False
実ディレクトリへのシンボリックリンク True True False True True
実ファイル True True True False False
実ファイルへのシンボリックリンク True True True False True
リンクが切れたシンボリックリンク False True False False True
存在しないパス False False False False False

例えば、Path が実ディレクトリかどうか調べたい時は
os.path.isdir(Path) and not os.path.islink(Path)

リンクが切れててもいいのでとにかく Path がシンボリックリンクかどうか調べたい時は
os.path.islink(Path)
でよさそうです。

また、
os.path.exists(Path)
os.path.isfile(Path) or os.path.isdir(Path)
は同じ結果になるようです。

0 件のコメント:

コメントを投稿