会社業務で提出物を一括ダウンロードするツールを作成しており、
古いファイルが邪魔でダウンロードフォルダからワークフォルダに移動時にエラーが
でたので、その対応で古いファイルがあったら削除する処理を作成しましたので、
ここにまとめます。
処理内容
- ワークフォルダを確認
- ファイルが存在したら削除
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インストールができない場所のあるので、、、