Pythonを使用してファイルまたはフォルダを削除してみる

Pythonを使用してファイルまたはフォルダを削除してみます。

ファイル、フォルダを削除するためには、osモジュールを使っていきます。osモジュールはPythonの標準ライブラリとなっていますので、事前にインストールしておく必要はありません。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)

■テストで削除するファルダとファイルを作る

今回はテストでファルダとファイルを削除してみますので、そのためのフォルダとファイルを作ります。

作ったファイルは「ghost(幽霊)」という名前のフォルダと、「ghost(幽霊)」という名前の.xlsx形式のファイルです。フォルダパスは「C:\Users\user\ghost」です。

■osモジュールを使って削除する

■ファイルを削除する

フォルダとファイルを作りましたので、まずファイルを削除してみます。

■コード

import os

os.remove(r"C:\Users\user\ghost\ghost.xlsx")

インポートでosモジュールを呼び出して、os.remove()で今回作成した.xlsx形式のファイルを指定します。

■実行

今回のコードを「delete-test.py」という名前で保存し、コマンドプロンプトから実行してみると、ファルダから「ghost(幽霊)」という名前の.xlsx形式のファイルが削除されていることが確認できました。

■ファルダを削除する

では、次にフォルダを削除してみます。

■コード

import os

os.rmdir(r"C:\Users\user\ghost")

フォルダを削除した時とは異なりos.remove()ではなく、os.rmdir()を使います。os.rmdir()で削除するファルダを指定します。

■実行

先程、同じく「delete-test.py」という名前で保存し、コマンドプロンプトから実行してみると、「ghost(幽霊)」という名前の.xlsx形式のファイルが削除されていることが確認できました。

■ファイルを含むフォルダを削除する

では、次にファルダ内にファイルが存在している状態で、これら全てを削除してみます。

■コード

import shutil

shutil.rmtree(r"C:\Users\user\ghost")

ファイルを含むフォルダを削除する場合は、インポートでshutilモジュールを呼び出して、shutil.rmtree()で削除するフォルダ(ファイルを含む)を指定します。

import os

shutil.rmtree(r"C:\Users\user\ghost")

上記のようにosモジュールでshutil.rmtree()を記述すると、

Traceback (most recent call last):
File “C:\Users\user\delete-test.py”, line 3, in <module>
shutil.rmtree(r”C:\Users\user\ghost”)
NameError: name ‘shutil’ is not defined

上記の「shutil」というのが定義されていないというエラーが発生します。

■実行

shutilモジュールを呼び出して、「delete-test.py」という名前で保存し、コマンドプロンプトから実行してみると、ファイルを含むフォルダが削除されていることが確認できました。

コメント

タイトルとURLをコピーしました