由标题可见 处理大量的文件转移问题 也是刚学爬虫百度找啦一大圈没有好的列子 就自己琢磨啦一个? 当时爬的动漫网站遇到的问题 比如一个漫画40章 一章里面有20个图片 爬出来的图片就有800个 要爬取20部就有1w多图片 全部放在一个文件夹 现在需要让他们自动分类出来 并且移动到自动创建相对于的文件夹
?完成后的效果
?说一下大概思路 因为动漫名字前面都相同嘛只是后面的不一样 所以我想着先把所有文件名字前面名字提取出来,提取出来后然后用正侧进行匹配 匹配成功然后就创建对应的文件夹移动就好啦
下面是代码的实现:
#**二梦**
import os
import re
import shutil
import time
for root,dirs,files in os.walk('E:\动漫'): #把文件下的文件名都遍历出来
name_list=files
for name in name_list: #遍历每一个文件名字
olname = name[0:4] # 斗破苍穹第1级a.txt (斗破苍穹) 取出每个名字的前4位 这个需要自己取自己想要的
da_move = 'E:/动漫/' + olname #拼接出你将要创建的文件夹路径**'E:/动漫/斗破苍穹'
if re.match(olname + '.*', name) != None:#正则匹配你每一个遍历出来的文件名字(斗破苍穹***斗破苍穹第1级a.txt)
if not os.path.exists(da_move):#判定有没有这个文件夹
os.mkdir(da_move)#匹配成功后创建文件夹
time.sleep(1)
shutil.move('E:/动漫/' + name, da_move)#将匹配成功的文件移动到创建的路径
else:
print('文件存在')
shutil.move('E:/动漫/' + name, da_move)
?里面具体代码可以都自动化 唯一需要人考虑的是需要取名字前面几个字 当然正则肯定有更精准完整的提取名字(初学正则没弄清楚)?希望大佬能补充下 然后可以把每一集的也做一个文件夹分类出来 思路一样
说的比较啰嗦 大神勿喷?
|