【Python】ファイル名を指定して、パソコン内のファイルを一括削除【Mac】
Pythonでファイル名を指定して、パソコン内のファイルを一括削除したときのメモ
完全に削除はos.remove()ですが、
ゴミ箱に移動のsend2trash()を使用してあげた方が安心です。
Contents
pyファイルを読み込んで削除する場合
「/フォルダパス/」内にある「photo-150×150.jpg」「photo-200×200.jpg」「photo-scaled.jpg」というサムネイルだけを削除してみます。
import os from glob import glob from send2trash import send2trash os.chdir('/フォルダパス/') send2trash(glob('*-*x*.jpg')) send2trash(glob('*-*x*.png')) send2trash(glob('*-scaled.jpg'))
上のような記述のファイル名「__send2trash.py」を作ってデスクトップに保存した後、
Macのターミナルアプリで下記コマンドを実行。
sei@MacBook-Pro ~ % python3 /Users/sei/Desktop/__send2trash.py
send2trashのインストールがまだという場合
https://sei-simple.com/it/python-send2trash
Pythonのインストールがまだという場合
https://www.python.jp/install/macos/install_python.html
ターミナル – インタプリタで削除する場合
Macのターミナルアプリを起動して
sei@MacBook-Pro ~ % python3
モジュールインポート
>>> import os >>> import glob >>> from send2trash import send2trash
~~デスクトップの「10」というフォルダに移動
os.chdir('/Users/sei/Desktop/10')
~~現在のディレクトリを確認
>>> os.getcwd()
'/Users/sei/Desktop/10'
~~~フォルダ内の全ファイル名確認
>>> os.listdir()
~~~フォルダ内の*-*x*.jpgというファイル名表示(ワイルドカード*は全ての文字列)
>>> glob.glob('*-*x*.jpg')
フォルダ内の*-*x*.jpgというファイルをゴミ箱に移動(ワイルドカード*は全ての文字列)
send2trash(glob.glob('*-*x*.jpg'))
完全に削除したい場合
>>> for p in glob.glob('*-*x*.jpg'): ... if os.path.isfile(p): ... os.remove(p)
注意点
普通にゴミ箱に入れた場合、「元に戻す」という項目で簡単に元のフォルダに戻せますが、
send2trashでゴミ箱に移動した場合「元に戻す」が選べないので、ドラッグやコピペで移動してあげる必要があります。
ディスカッション
コメント一覧
まだ、コメントがありません