Python 特定の拡張子のファイルと空のフォルダを一括削除する方法

Pythonを使って、特定の拡張子のファイルと空のフォルダを一括で削除する方法を解説します。

Pythonで複数のファイルやフォルダを一括で削除する方法はありますか?

特定の拡張子のファイルを削除するには、文字の判定を利用して削除を行います。また、空のフォルダを削除するにはos.rmdirを使用します。

目次

特定の拡張子のファイルを削除する方法

  1. osモジュールをインポートする
import os

2. 指定したディレクトリ内のファイル名を取得する

folder_path = "/path/to/folder/"
for filename in os.listdir(folder_path):

os.listdir()関数は、指定したディレクトリ内のファイル名をリストで返します。

3. ファイル名が特定の拡張子であるかをチェックする

if filename.endswith(".txt"):

os.path.splitext()関数を使って、ファイル名と拡張子を分割することもできます。

  1. ファイルを削除する
os.remove(os.path.join(folder_path, filename))

os.path.join()関数を使って、ディレクトリパスとファイル名を結合して、ファイルを削除します。

import os

folder_path = "/path/to/folder/"

for filename in os.listdir(folder_path):
    if filename.endswith(".txt"):
        os.remove(os.path.join(folder_path, filename))

os.unlink()関数を使った削除について

Pythonで特定の拡張子を持つファイルを一括で削除する場合、os.remove()関数を使って削除することができますが、os.unlink()関数を使っても同様の削除処理が行えます。

os.unlink()関数は、os.remove()関数と同様に指定したパスのファイルを削除します。ただし、os.remove()関数はファイル以外のオブジェクトには適用できませんが、os.unlink()関数はファイルだけでなく、シンボリックリンクなどのオブジェクトも削除できます。

以下は、os.unlink()関数を使った”.txt”拡張子を持つファイルを一括で削除するサンプルプログラムです。

import os

folder_path = "/path/to/folder/"

for filename in os.listdir(folder_path):
    if filename.endswith(".txt"):
        os.unlink(os.path.join(folder_path, filename))

空のフォルダを削除する方法

Pythonで指定したディレクトリ内の空のフォルダを一括で削除するには、以下の手順を実行します。

  1. osモジュールとshutilモジュールをインポートする
import os
import shutil
  1. 指定したディレクトリ内のフォルダを再帰的にチェックする
folder_path = "/path/to/folder/"
for dirpath, dirnames, filenames in os.walk(folder_path, topdown=False):

os.walk()関数は、指定したディレクトリ内のフォルダを再帰的に探索し、ディレクトリパス、フォルダ名、ファイル名を返します。topdown引数をFalseにすることで、最も深い階層のフォルダから削除することができます。

  1. 中身が空のフォルダをチェックする
if not os.listdir(os.path.join(dirpath, dirname)):

os.path.join()関数を使って、ディレクトリパスとフォルダ名を結合し、os.listdir()関数で中身のファイル名を取得して、そのリストが空であれば中身が空のフォルダであると判断します。

  1. フォルダを削除する
os.rmdir(os.path.join(dirpath, dirname))

中身が空のフォルダをos.rmdir()関数で削除します。

以下は、空のフォルダを一括で削除するサンプルプログラムです。

import os
import shutil

folder_path = "/path/to/folder/"

for dirpath, dirnames, filenames in os.walk(folder_path, topdown=False):
    for dirname in dirnames:
        if not os.listdir(os.path.join(dirpath, dirname)):
            os.rmdir(os.path.join(dirpath, dirname))

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

まとめ

Pythonを使って、特定の拡張子のファイルと空のフォルダを一括で削除する方法を解説しました。

  • 指定したディレクトリ内の特定の拡張子を持つファイルを削除するには、os.remove()関数またはos.unlink()関数を使う。
  • 指定したディレクトリ内の空のフォルダを削除するには、os.walk()関数とos.rmdir()関数を使う。
  • ファイルやフォルダを削除する前に、十分なバックアップを取ることが重要である。

Pythonを使って、ファイルやフォルダを一括で削除する方法がわかりました!

ファイルやフォルダを一括で削除することは、誤って重要なファイルを削除してしまう可能性があるため、慎重に実行することが重要です。また、削除する前にバックアップを取ることも忘れずに行いましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次