Pythonでsend2trashモジュールを使いファイルとフォルダーを安全に削除するについて解説します。
Pythonでは以下の関数でファイル、もしくはディレクトリを削除できます。
・os.unlink()関数
・os.rmdir()関数
・shutil.rmtree()関数
ファイルとディレクトリを削除できますが、これらは、ファイル、もしくはディレクトリを完全に削除しますので、誤って削除してしまった場合は、大変です。削除を元に戻すことができません。
そこで、削除を実行しても元に戻すことができる安全な削除方法が、send2trashモジュールを使った削除方法です。send2trashモジュールを使用すると、ファイルやフォルダが削除されますが、コンピューター(デスクトップ)のごみ箱に送信されます。ごみ箱であれば、削除してしまったファイルやフォルダを復元することができます。
なお、send2trashモジュールは事前にPythonにインストールしておくことが必要となります。
■Python
今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)
■テストで削除用のファイルを用意する
では、実際にsend2trashモジュールを使用してファイルを削除してみたいと思いますので、今回はテストで削除用のファイルを用意してみます。
用意したファイルは「test01.txt」というテキストファイルです。ファイルの保存先は「C:\Users\user\test(フォルダパス)」となっています。
■send2trashモジュールを使用しファイルを削除する
削除用のファイルが用意できましたので、send2trashモジュールを使用しファイルを削除するスクリプトを書いてきます。
■コード
import send2trash send2trash.send2trash(r'C:\Users\user\test\test01.txt')
インポートでsend2trashモジュールを呼び出して、send2trash.send2trash()というコードを記述するだけで、ファイルの削除が行えますので、今回用意したファイルを指定します。
■実行
今回書いたスクリプトを「file-deletion.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、print関数での実行結果の出力はスクリプトに記述していないので、削除されたかどうかわからないため、今回用意したファイルの保存先とゴミ箱を確認してみます。
確認してみると、「test」というフォルダにあったファイルが削除され、ゴミ箱へ移動したことが確認できました。
■ディレクトリも削除する
今回はテキストファイルを用意して、send2trashモジュールで削除を行ってみましたが、ディレクトリも削除することができます。
■コード
import send2trash send2trash.send2trash(r'C:\Users\user\test')
テストで今回用意したテキストファイルを入れたフォルダ(test)を指定して削除してみます。
削除を実行してみると、ゴミ箱に「test」フォルダが移動していることが確認できました。
コメント