くだすれPython(超初心者用) その4at TECH
くだすれPython(超初心者用) その4 - 暇つぶし2ch84:デフォルトの名無しさん
09/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 ターゲットディレクトリ 対象拡張子
# と入力


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch