【Python】指定のファイルがあれば削除する方法
公開:
Pythonでファイルが存在する場合のみ削除する方法
Pythonでファイルが存在する場合にのみ削除する処理は、os.path.exists関数とos.remove関数を組み合わせることで実現できます。事前にファイルの存在確認を行うことによって、存在しないファイルに対する削除処理を実行してエラーが発生することを防げます。
【サンプルコード】
import os
file_path = 'sample.txt'
if os.path.exists(file_path):
os.remove(file_path)
print(f'{file_path}を削除しました')
else:
print(f'{file_path}は存在しません')
os.path.exists関数は指定されたパスにファイルまたはディレクトリが存在する場合にTrueを返すため、条件分岐でファイルの有無を判定できます。削除対象がファイルのみの場合はos.path.isfile関数を使用することで、より厳密な判定が実行されます。
相対パスと絶対パスのどちらでも指定可能であり、プログラムの実行場所に関係なく適切なファイルパスを設定することで確実な削除処理が行えます。削除後の確認処理を含めることによって、処理結果をユーザーに明確に伝達できます。
Pythonのtry文による例外処理で安全にファイルを削除する方法
try文とexcept文を組み合わせた例外処理によって、ファイル削除時に発生する可能性のあるエラーを適切に処理できます。FileNotFoundError例外をキャッチすることによって、存在しないファイルに対する削除処理が実行された場合でもプログラムの異常終了を防げます。
【サンプルコード】
import os
file_path = 'sample.txt'
try:
os.remove(file_path)
print(f'{file_path}を削除しました')
except FileNotFoundError:
print(f'{file_path}が見つかりませんでした')
except PermissionError:
print(f'{file_path}の削除権限がありません')
複数の例外タイプを指定することによって、ファイルが存在しない場合とファイルへの削除権限がない場合を個別に処理できます。PermissionError例外は読み取り専用ファイルや管理者権限が必要なファイルに対する削除処理で発生するため、権限に関連するエラーを適切に処理できます。
例外処理を使用することによって事前の存在確認が不要となり、削除処理と例外処理を一つのブロックで記述できるため、コードの簡潔性が向上します。エラーメッセージの表示によってユーザーに対して適切なフィードバックを提供できます。
Pythonのos.path.isfile関数でファイルを削除する方法
os.path.isfile関数を使用することによって、削除対象がファイルであることを確実に確認してから削除処理を実行できます。ディレクトリやシンボリックリンクを誤って削除対象に指定することを防ぎ、ファイルのみを対象とした安全な削除処理が実現されます。
【サンプルコード】
import os
file_path = 'sample.txt'
if os.path.isfile(file_path):
os.remove(file_path)
print(f'ファイル{file_path}を削除しました')
else:
print(f'{file_path}はファイルではありません')
os.path.isfile関数は指定されたパスが存在するファイルの場合にのみTrueを返すため、ディレクトリが指定された場合はFalseが返されます。os.remove関数はファイルのみを削除できる関数であるため、事前の判定によってディレクトリ削除時のエラーを防止できます。
複数のファイルを処理する場合はglobモジュールと組み合わせることによって、パターンマッチングによるファイル選択と安全な削除処理を同時に実現できます。ファイルタイプの確認を含む削除処理は大量のファイル操作において特に有効です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。






