- 84 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:24:31 ]
- >>76
#-*- coding: utf-8 -*- import os, sys, time, shutil from math import ceil, log def rename_to_number(srcdir, ext): files = filter(lambda x: x[-len(ext):]==ext, os.listdir(srcdir)) tmpdir = os.path.join(srcdir, 'tmp%s_%s' % (os.getpid(), time.time())) while os.path.exists(tmpdir): tmpdir += '0' os.mkdir(tmpdir) for f in files: src = os.path.join(srcdir, f) shutil.move(src, tmpdir) fmt = '%%0%dd%s' % (ceil(log(len(files),10)), ext) for i, f in enumerate(sorted(files)): src = os.path.join(tmpdir, f) dst = os.path.join(srcdir, fmt % i) shutil.copy(src, dst) #shutil.rmtree(tmpdir) # この行を有効にすると作業後テンポラリを削除します。 if __name__ == '__main__': srcdir = sys.argv[1] ext = sys.argv[2] if ext[0] != '.': ext = '.' + ext rename_to_number(srcdir, ext) # 使い方。このスクリプトを hoge.py と保存(UTF-8)した場合。 # python hoge.py ターゲットディレクトリ 対象拡張子 # と入力
|

|