2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】フォルダ内ファイルを一括削除する方法

Posted at

会社業務で提出物を一括ダウンロードするツールを作成しており、
古いファイルが邪魔でダウンロードフォルダからワークフォルダに移動時にエラーが
でたので、その対応で古いファイルがあったら削除する処理を作成しましたので、
ここにまとめます。

処理内容

  1. ワークフォルダを確認
  2. ファイルが存在したら削除

1, ワークフォルダを確認

今回使うモジュールは、pathlibです。
ファイル削除だけでなく、ディレクトリ作成、削除などもできるので、
OS処理をPythonで実行するならpathlibを使用するのが良いかと。

osでも良いかと思いますがPython3で書くならpathlibかと。

import pathlib

check_dir = pathlib.Path("対象フォルダパス") # 対象フォルダパスを変数に格納
for file in check_dir.iterdir():  # check_dir内をlsして1ファイルずつファイル名を取得
    print(file.name)

上記で対象フォルダ内にある不要ファイル名を取得します。

2, ファイルが存在したら削除

ファイルはunlink()で削除します。しかし、フォルダも存在する場合はエラーとなってしまうため、is_file()でファイルの場合は削除する処理にします。

import pathlib

check_dir = pathlib.Path("対象フォルダパス") # 対象フォルダパスを変数に格納
for file in check_dir.iterdir():  # check_dir内をlsして1ファイルずつファイル名を取得
    if file.is_file()   # もしファイルなら次の処理に進む
        file.unlink()   #  ファイルを削除する

最後に

pathlibはデフォルトで入っているモジュールのため、pipでインストールは不要です。
今回は自社業務用で自分のPCで作業するようで作りましたが、
現場でpythonが入っているサーバーを使用する時に使えそうだなと思いました。

特に現場だとインターネットに接続できなくて、pipインストールができない場所のあるので、、、

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?