python 处理大量文件

事情还得从用python写爬虫开始说起,当时在freebuf看了几篇爬虫得文章,然后又遇到项目中要用很多图片,就现学现用在网上爬了很多图片下来。因为当时爬下来的都是表情的图片,所以前几天的时候本来想把爬下来的所有的表情图片添加到qq表情包里面的。结果每页表情最多放300多张,这就尴尬了。我爬的图片每个文件夹大部分都超过了300张。所以后来想用python把大量的图片分别放到不同的文件夹里面。

好吧。上代码吧。原理还是多简单的主要就是shutil.move()和os.mkdir()的使用

import os
import os.path
import shutil
import sys


root = sys.argv[1] # file path
count = int(sys.argv[2]) #file count

num = 0
ismove=0
for parent,dirnames,filenames in os.walk(root):
	r = len(filenames) / count
	for i in range(r+1):
		p = root+"/"+str(i)
		os.mkdir(p)
	for filename in filenames:
		num = num + 1
		if num / count == 1:
			ismove = ismove + 1
			num=0
		p = root +"/"+ str(ismove)
		path = os.path.join(parent,filename)
		print(path+"==="+p)
		shutil.move(path,p)
#使用方法 python xxxx.py 文件路径 文件数量

你可能感兴趣的:(python学习)