CSiEra

CSiEra

I know I know nothing.

特定のファイルを一括で削除する

背景#

数日前、オンラインで 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はフォルダを再帰的に読み込む機能を実装しているため、タスクがはるかに簡単になります。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。