こんにちは!
皆さんは、ファイル・ディレクトリが存在するかどうか判定したいと思ったことはありませんか?
ファイルが存在するかどうかの判定には「os.path.isfile()」、ディレクトリが存在するかどうかの判定には「os.path.isdir()」、また両方同様に判定するには「os.path.exists()」を使うと簡単に判定することができます。
今回の記事では、以下の内容について紹介します。
- ファイル・ディレクトリが存在するかの判定方法
- ファイルが存在するかの判定方法
- ディレクトリが存在するかの判定方法
ファイル・ディレクトリが存在するかの判定
ファイル・ディレクトリが存在するかどうかを同様に判定するには、「os.path.exists()」を使用します。
指定したpathのファイル・ディレクトリが存在すればTrue 、存在しなければFalseを返します。
今回は以下のコードで作成したディレクトリ・ファイルの判定を行います。
ファイル・ディレクトリの作成方法、ファイル・ディレクトリの一覧取得方法も一緒に確認しましょう。
ソースコード
import os
os.makedirs('testdir/test', exist_ok=True)
with open('testdir/test.txt', 'w') as f:
f.write('')
print(os.listdir('testdir'))
実行結果
['test', 'test.txt']
「test」がディレクトリ、「test.txt」がファイルなため、これらを判定していきます。
では早速ファイル・ディレクトリが存在するかどうか判定するソースコードを見てみましょう。
ソースコード
import os
print(os.path.exists("testdir/test"))
print(os.path.exists("testdir/test.txt"))
print(os.path.exists("testdir/notexist.txt"))
実行結果
True
True
False
test, test.txtは存在しているのでTrue、notexistは存在していないのでFalseといった感じで、しっかりと判別できていますね!
ファイルが存在するかの判定方法
ファイルが存在するかどうかを判定するには、「os.path.isfile()」を使用します。
また、pathに指定したものが、ファイルかどうかの判定にも使われます。
ソースコード
import os
print(os.path.isfile("testdir/test"))
print(os.path.isfile("testdir/test.txt"))
print(os.path.isfile("testdir/notexist.txt"))
実行結果
False
True
False
test.txtのみがファイルなので、Trueとなっています。
ディレクトリが存在するかの判定方法
ディレクトリが存在するかどうかを判定するには、「os.path.isdir()」を使用します。
また、pathに指定したものが、ディレクトリかどうかの判定にも使われます。
ソースコード
import os
print(os.path.isdir("testdir/test"))
print(os.path.isdir("testdir/test.txt"))
print(os.path.isdir("testdir/notexist.txt"))
実行結果
True
False
False
testのみがディレクトリなので、Trueとなっています。
まとめ
今回の記事では、以下の内容について紹介しました。
- ファイル・ディレクトリが存在するかの判定方法
→「os.path.exists()」を使用 - ファイルが存在するかの判定方法
→「os.path.isfile()」を使用 - ディレクトリが存在するかの判定方法
→「os.path.isdir()」を使用
しっかりと理解して、ファイル・ディレクトリの判別ができるようになりましょう!