
【Python】指定のファイルがあれば削除する方法
公開: 更新:Pythonのosモジュールでファイルがあれば削除する方法
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}は存在しません')
行番号 | 詳細説明 |
---|---|
1行目 | osモジュールをインポート |
3行目 | 削除対象のファイルパスを変数file_pathに設定 |
4行目 | os.path.exists関数でファイルの存在を確認 |
5行目 | os.remove関数でファイルを削除 |
6行目 | 削除成功メッセージを出力 |
7行目 | ファイルが存在しない場合の処理 |
8行目 | ファイル未存在メッセージを出力 |
os.path.exists
関数は指定されたパスにファイルまたはディレクトリが存在する場合にTrueを返すため、条件分岐でファイルの有無を判定できます。削除対象がファイルのみの場合はos.path.isfile
関数を使用することで、より厳密な判定が実行されます。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
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}の削除権限がありません')
行番号 | 詳細説明 |
---|---|
1行目 | osモジュールをインポート |
3行目 | 削除対象のファイルパスを変数file_pathに設定 |
4行目 | 例外処理のtryブロック開始 |
5行目 | os.remove関数でファイルを削除 |
6行目 | 削除成功メッセージを出力 |
7行目 | FileNotFoundError例外をキャッチ |
8行目 | ファイル未存在エラーメッセージを出力 |
9行目 | PermissionError例外をキャッチ |
10行目 | 権限エラーメッセージを出力 |
複数の例外タイプを指定することで、ファイルが存在しない場合とファイルへの削除権限がない場合を個別に処理できます。PermissionError
例外は読み取り専用ファイルや管理者権限が必要なファイルに対する削除処理で発生するため、権限に関連するエラーを適切に処理できます。
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}はファイルではありません')
行番号 | 詳細説明 |
---|---|
1行目 | osモジュールをインポート |
3行目 | 削除対象のファイルパスを変数file_pathに設定 |
4行目 | os.path.isfile関数でファイルかどうかを確認 |
5行目 | os.remove関数でファイルを削除 |
6行目 | 削除成功メッセージを出力 |
7行目 | ファイルでない場合の処理 |
8行目 | ファイルではないことを示すメッセージを出力 |
os.path.isfile
関数は指定されたパスが存在するファイルの場合にのみTrueを返すため、ディレクトリが指定された場合はFalseが返されます。os.remove
関数はファイルのみを削除できる関数であるため、事前の判定でディレクトリ削除時のエラーを防止できます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- 【Python】仮想環境から抜ける方法
- 【Python】文字列から改行コードを除去する方法
- 【Python】10回の繰り返し処理を実装する方法
- 【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説
ITやプログラミングに関するニュース
- Azure SQL Managed InstanceがVector型Public Preview対応開始、AI駆動アプリケーション開発の効率化を実現
- GoogleがGmailアプリにGeminiサマリーカードを導入、メール要約の自動表示機能が利用可能に
- ZenchordとNottaが共同開発したAIイヤホンZenchord 1をMakuakeで先行公開、音声認識から議事録作成まで自動化
- Ideinが音声解析AIサービス「Phonoscape」の提供を開始、対面接客現場での会話データ活用が可能に
- Microsoftが.NET 10 Preview 4でdotnet run app.cs機能をリリース、プロジェクトファイル不要でC#実行が可能に