2012-03-22 11 views
0

こんにちは、私は最近、プレフィックスと日付の作業をスキャンするファイルの名前を変更するために、このスクリプトを作成しました。それはかなりうまくいきますが、最初のファイルと同じ名前のディレクトリを現在のディレクトリに作成し、そこですべてのスキャンされたファイルを移動することができればそれは素晴らしいでしょう。例えば。最初のファイルの名前が「22-03-2012 0にスキャンされた」に変更され、「22-03-2012 0でスキャンされた」という名前のディレクトリ(パスはM:\ Claire \ Scanned As 22-03-2012 0)になります。そのファイルがそこに置かれています。ファイルの名前を変更して新しいディレクトリにコピーするスクリプト。

私はこれを行うための最善の方法を考え出すのに苦労しています。前もって感謝します!

import os 
import datetime 
#target = input('Enter full directory path: ') 
#prefix = input('Enter prefix: ') 
target = 'M://Claire//' 
prefix = 'Scanned As At ' 
os.chdir(target) 
allfiles = os.listdir(target) 
count = 0 
for filename in allfiles: 
    t = os.path.getmtime(filename) 
    v = datetime.datetime.fromtimestamp(t) 
    x = v.strftime(' %d-%m-%Y') 
    os.rename(filename, prefix + x + " "+str(count) +".pdf") 
    count +=1 
+0

http://docs.python.org/library/shutil.htmlをご覧ください。 –

+0

質問はどこですか?あなたはそれをやる方法を知っているようだし、すでにほとんどのことをやっている。 – Alfe

+0

申し訳ありません私はおそらくより明確にされている必要があります。私は、ファイルと同じ名前の形式でフォルダの名前を変更し、実際にフォルダを作成する方法を考え出すのに苦労しています。 – RedFred

答えて

0

要件が不明確です。あなたはhelp(os.renames)を確認することができます

for filename in allfiles: 
    if not os.isfile(filename): continue 
    t = os.path.getmtime(filename) 
    v = datetime.datetime.fromtimestamp(t) 
    x = v.strftime(' %d-%m-%Y') 
    dirname = prefix + x + " " + str(count) 
    target = os.path.join(dirname, filename) 
    os.renames(filename, target) 
    count +=1 

:ファイルの名前を変更されていない場合にのみ、次のコード(あなたの例の唯一のforループ)を使用することができ、ディレクトリの下に置きます。

関連する問題