2012-04-22 105 views

回答

4

一切都可能包含在os庫,更具體的os.path位的它和shutil之一。

要探索目錄樹,您可以使用os.walk並移動文件可以使用shutil.move


編輯:我一起砍死一個小腳本讓你去:

import os 
import shutil as sh 
from collections import defaultdict 

DESKTOP = '/home/mac/Desktop' 

#This dictionary will contain: <extension>: <list_of_files> mappings 
register = defaultdict(list) 

#Populate the register 
for dir_, dirs, fnames in os.walk('/home/mac/Desktop'): 
    for fname in fnames: 
     register[fname.rsplit('.', 1)[1]].append(os.path.join(dir_, fname)) 

#Iterate over the register, creating the directory and moving the files 
#with that extension in it. 
for dirname, files in register.iteritems(): 
    dirname = os.path.join(DESKTOP, dirname) 
    if not os.path.exists(dirname): 
     os.makedirs(dirname) 
    for file_ in files: 
     sh.move(file_, dirname) 
+0

感謝推薦os.walk。我不完全是專家,但我應該能夠弄清楚它! – tkbx 2012-04-23 00:02:59

+2

@ lucase.62 - 我添加了一個小腳本讓你走。它做了什麼,它爲每個擴展類型創建一個目錄,並在其中移動具有該擴展名的所有文件。 HTH! – mac 2012-04-23 00:14:25

相關問題