読者です 読者をやめる 読者になる 読者になる

ほんじゃら堂

めんどくさい仕事をラクにする作業自動化レシピ集

指定したフォルダ内のファイルのファイル名から特定のパターンの文字列を一括削除する

IT系・技術系 python

フォルダを指定してその中のファイルのファイル名の一部を削除するちょっとしたスクリプト。子フォルダの再帰処理はしない。
001_(hoge).txt、002_(fuga).txtなどのファイルを001_hoge.txt、002_fuga.txtに一括変換したい時なんかに使えるよう、正規表現でパターンを指定できるようにした。

使い方

python exclude_file_name.py フォルダパス 置換パターン
python exclude_file_name.py target_folder [¥(¥)]


exclude_file_name.py

!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import os.path
import re
root = sys.argv[1]
ex_pattern = sys.argv[2]
def main():
files = os.listdir(root)
for file_name in files:
new_file_name = re.sub(ex_pattern, "", file_name)
src = os.path.join(root, file_name)
dest = os.path.join(root, new_file_name)
print src + " => " + dest
os.rename(src, dest)
if __name__ == "__main__":
main()