python ファイル,フォルダ 存在確認 exist

ファイルの有無を確認して上書きしないようにファイル名を変更したり、フォルダがなければ作成したり、という用途でそれぞれの存在確認をしたい時は、以下の様にos.path.existを使うことで確認できる。

os.path.exist("確認したいパス")

使い方

ファイルの有無確認

デスクトップに「sample.csv」というファイルがあるか確認する時は以下の様になる。

import os

# デスクトップパス取得
desktop_path = os.path.expanduser('~\Desktop')
# ファイルパス作成
samplecsv_path = os.path.join(desktop_path,"sample.csv")

# ファイル有無判定
if os.path.exists(samplecsv_path):
    print("ファイルあるよ")
else:
    print("ファイルないよ")

"""
ファイルがある場合:ファイルあるよ
ファイルがない場合:ファイルないよ
"""

上記のコードを見てわかりきっているがos.path.exist("確認したいパス")の結果は以下の様になる。

print(os.path.exists(samplecsv_path))

"""
ファイルがある場合:True
ファイルがない場合:False
"""

フォルダの有無確認

デスクトップに「sample」というフォルダがあるか確認する時は以下の様になる。

import os

# デスクトップパス取得
desktop_path = os.path.expanduser('~\Desktop')
# フォルダパス作成
sampledir_path = os.path.join(desktop_path,"sample")

# フォルダ有無判定
if os.path.exists(sampledir_path):
    print("フォルダあるよ")
else:
    print("フォルダないよ")

"""
フォルダがある場合:フォルダあるよ
フォルダがない場合:フォルダないよ
"""

ファイルを確認する時と変わりはない

別の方法 isfile、isdir

os.path.isfileos.path.isdirを利用する方法もある
本来、isfileでは指定したパスがファイル、isdirでは指定したパスがディレクトリであるかを確認するために利用するが、存在確認としても利用可能である

ファイルの有無確認 isfile

デスクトップに「sample.csv」というファイルがあるか確認する時は以下の様になる。

import os

# デスクトップパス取得
desktop_path = os.path.expanduser('~\Desktop')
# ファイルパス作成
samplecsv_path = os.path.join(desktop_path,"sample.csv")

# ファイル有無判定
if os.path.isfile(samplecsv_path):
    print("ファイルあるよ")
else:
    print("ファイルないよ")

"""
ファイルがある場合:ファイルあるよ
ファイルがない場合:ファイルないよ
"""

フォルダの有無確認 isdir

デスクトップに「sample」というフォルダがあるか確認する時は以下の様になる。

import os

# デスクトップパス取得
desktop_path = os.path.expanduser('~\Desktop')
# フォルダパス作成
sampledir_path = os.path.join(desktop_path,"sample")

# フォルダ有無判定
if os.path.dir(sampledir_path):
    print("フォルダあるよ")
else:
    print("フォルダないよ")

"""
フォルダがある場合:フォルダあるよ
フォルダがない場合:フォルダないよ
"""

isfile,isdirを存在確認に利用する時の注意

os.path.isfileでフォルダを指定してしまったり、os.path.isdirでファイルを指定してしまったりすると存在してもFalseが返ってきて無いものと同じ判定になってしまうので利用には注意が必要。
まぁ、os.path.existを使えってことですね。

コメント

タイトルとURLをコピーしました