1
我想製作一個Python腳本,以便將我桌面上的文件快速組織到基於擴展名的文件夾中。基本上,我如何使用循環來獲取文件,對它做些什麼,轉到下一個文件,等等?你需要在目錄和子目錄中查找帶擴展名的文件?
我想製作一個Python腳本,以便將我桌面上的文件快速組織到基於擴展名的文件夾中。基本上,我如何使用循環來獲取文件,對它做些什麼,轉到下一個文件,等等?你需要在目錄和子目錄中查找帶擴展名的文件?
一切都可能包含在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)
感謝推薦os.walk。我不完全是專家,但我應該能夠弄清楚它! – tkbx 2012-04-23 00:02:59
@ lucase.62 - 我添加了一個小腳本讓你走。它做了什麼,它爲每個擴展類型創建一個目錄,並在其中移動具有該擴展名的所有文件。 HTH! – mac 2012-04-23 00:14:25