背景#
数日前、オンラインで 100G のデータセットをダウンロードしました。中には何万ものファイルが含まれています。しかし、圧縮ファイルを作成した人が macOS を使用していたため、解凍後、各ファイルには._
で始まるコピーが存在することがわかりました。例えば、sub_12345
というファイルがある場合、それに対応する._sub_12345
というファイルが存在します。このコピーのファイルは役に立たず、Windows では見えますが、見た目が悪く、さらに後続のプログラムがファイルを読み込むのに影響を与えます。
Python スクリプトによる一括削除#
os.walk
モジュールを使用して処理を行います。
import os
data_dir = './test/'
for root, subdir, filename in os.walk(data_dir, topdown=False):
if filename.startswith('._'):
os.remove(os.path.join(root, filename))
上記がスクリプトです。非常にシンプルです。os.walk
はフォルダを再帰的に読み込む機能を実装しているため、タスクがはるかに簡単になります。