ファイルの有無を確認して上書きしないようにファイル名を変更したり、フォルダがなければ作成したり、という用途でそれぞれの存在確認をしたい時は、以下の様に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.isfile
、os.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
を使えってことですね。
コメント