2012-03-22 142 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 – 2012-03-22 09:33:45

+0

問題在哪裏?似乎你知道如何去做,而且已經完成了大部分工作。 – Alfe 2012-03-22 10:19:41

+0

對不起,我應該已經更清楚了。我很難弄清楚如何重命名與文件具有相同名稱格式的文件夾並實際製作文件夾。 – RedFred 2012-03-22 18:54:36

回答

0

不太清楚您的要求。如果不重命名文件,只能把它的目錄下,然後你可以使用下面的代碼(只有你的例子的for循環):

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 

您可以檢查help(os.renames)

相關問題