我想制作一个 Python 脚本来快速将我桌面上的文件组织到基于扩展名的文件夹中。基本上,我如何使用循环来获取一个文件,对其执行某些操作,然后转到下一个文件,等等?
问问题
820 次
2 回答
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)
于 2012-04-22T23:44:29.800 回答
0
我会从模块os和文件名列表中推荐 os.walk
于 2012-04-23T22:13:32.950 回答