Pythonでファイルを削除する方法|os.removeとos.unlinkの使い方を解説
Pythonでファイルやフォルダを削除する基本
Pythonでは、標準ライブラリのosモジュールに含まれる関数を使うことで、単一のファイルや空のフォルダ(ディレクトリ)を簡単に削除できます。外部ライブラリをインストールする必要はなく、スクリプトの先頭でosモジュールをインポートするだけで利用可能です。
os.remove()でファイルを削除する
最も基本的な削除方法は、os.remove()関数を使用することです。例えば、カレントディレクトリにある「a.txt」というファイルを削除したい場合は、次のように記述します。
>>> import os
>>> os.remove('a.txt')
os.remove()の引数には、削除対象のファイルパスを指定します。このパスは絶対パスでも相対パスでも構いません。
- 絶対パスの例:
/home/user/documents/a.txtやC:\Users\user\a.txt - 相対パスの例:
a.txtや./data/a.txt
os.unlink()でファイルを削除する
同じくosモジュールには、os.unlink()という関数も用意されています。こちらもos.remove()と完全に同じ動作をし、指定したファイルを削除します。
>>> import os
>>> os.unlink('a.txt')
remove()とunlink()はエイリアスのような関係にあり、どちらを使っても結果は変わりません。Unix系OSのコマンドに馴染みがある方はunlink()を、Windows風の命名が好みの方はremove()を選ぶとよいでしょう。
注意点:存在しないファイルを指定するとエラーになる
削除対象のファイルが存在しない場合、FileNotFoundErrorが発生します。安全に削除処理を行うためには、事前にファイルの存在を確認するか、例外処理を組み合わせるのがおすすめです。
import os
path = 'a.txt'
if os.path.exists(path):
os.remove(path)
else:
print('ファイルが存在しません')
または、try-exceptブロックを使って以下のように書くこともできます。
import os
try:
os.remove('a.txt')
except FileNotFoundError:
print('指定されたファイルは見つかりませんでした')
空のフォルダを削除するには
空のディレクトリ(フォルダ)を削除したい場合は、os.rmdir()を使用します。なお、この関数は中身が空のフォルダしか削除できない点に注意してください。ファイルが残っているフォルダを丸ごと削除したい場合は、shutil.rmtree()を使う必要があります。
>>> import os
>>> os.rmdir('empty_folder')
まとめ
- ファイルの削除には
os.remove()またはos.unlink()を使う - 引数には絶対パス・相対パスのどちらでも指定できる
- ファイルが存在しない場合は
FileNotFoundErrorが発生するため、存在確認や例外処理を推奨 - 空フォルダの削除には
os.rmdir()、中身ごと削除する場合はshutil.rmtree()を使う
これらの関数を適切に使い分けることで、Pythonスクリプトから柔軟かつ安全にファイル操作を行えるようになります。
-
PythonでPDFファイルをExcelファイルに変換する方法を解説
Pythonには、さまざまな処理に対応できる豊富なライブラリが用意されています。本記事では、その中でもPDFファイルをExcelファイルに変換する方法について詳しく解説します。PythonでPDFをCSV形式に変換できるパッケージは複数存在しますが、ここではTabula-pyモジュールを使用します。Tabula-pyの主要部分はJavaで書かれており、PDFドキュメントを読み込み、PythonのDataFrameとして取得したり、JSONオブジェクトに変換したりすることができます。事前準備:JavaのインストールTabula-pyを使用する前に、システムにJavaが事前にインストールされている
-
Pythonでディレクトリ(フォルダ)を削除する方法をわかりやすく解説
Pythonでディレクトリ(フォルダ)を削除したい場合、そのディレクトリが「空」かどうかによって使う関数が異なります。この記事では、代表的な2つの方法を具体例とともに解説します。 空のディレクトリを削除する:os.rmdir() 中身が空っぽのフォルダを削除したい場合は、標準ライブラリ os モジュールの rmdir 関数を使います。 使用例 >>> import os >>> os.rmdir(my_folder) なお、指定したフォルダ内にファイルやサブフォルダが1つでも残っていると、OSError が発生して削除に失敗します。その点には注意してください