通过python将大量文件按修改时间分类的方法


Posted in Python onOctober 17, 2018

需求是这样的,我从本科到现在硬盘里存了好多照片,本来是按类别分的,有一天,我突然想,要是能按照时间来分类可能会更好。可以右键查看照片的属性,看它的修改日期,从而分类,但是十几个G的照片手动分类工作量还是很大的,所以想着写个脚本程序来完成这一个工作。

程序主要是获取文件的修改时间,包括年和月,并以此为名创建文件夹,再用递归调用的方式遍历整个文件夹,将每一张照片拷贝到相应的文件夹下。

程序源码如下:

#coding:utf-8
import os
import sys
import os.path
import time
from shutil import Error
from shutil import copystat
from shutil import copy2

path_str = r"D:\pic";

def copy_file(src_file, dst_dir):
 if os.path.isdir(dst_dir): 
  pass;
 else: 
  os.makedirs(dst_dir);
 print(src_file);
 print(dst_dir);
 copy2(src_file, dst_dir) 

def walk_file(file_path):
 for root, dirs, files in os.walk(file_path, topdown=False):
  for name in files:
   com_name = os.path.join(root, name);
   t=os.stat(com_name);
   copy_path_str = path_str+r"\year"+str(time.localtime(t.st_mtime).tm_year)+r"\month"+str(time.localtime(t.st_mtime).tm_mon);
   print(copy_path_str);
   copy_file(com_name,copy_path_str); 
  for name in dirs:
   walk_file(name);

walk_file(path_str);

以上这篇通过python将大量文件按修改时间分类的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用datetime模块计算各种时间间隔的方法
Mar 24 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
Python使用遗传算法解决最大流问题
Jan 29 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
对Python中内置异常层次结构详解
Oct 18 Python
python opencv读mp4视频的实例
Dec 07 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 Python
python实现图片插入文字
Nov 26 Python
python路径的写法及目录的获取方式
Dec 26 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
Mar 12 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
selenium如何定位span元素的实现
Jan 13 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
Oct 17 #Python
python按时间排序目录下的文件实现方法
Oct 17 #Python
python3 读取Excel表格中的数据
Oct 16 #Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 #Python
Python对切片命名的实现方法
Oct 16 #Python
Python 给某个文件名添加时间戳的方法
Oct 16 #Python
解决python os.mkdir创建目录失败的问题
Oct 16 #Python
You might like
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
JavaScript实现筛选数组
2021/03/02 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
对python的文件内注释 help注释方法
2018/05/23 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
python+django+rest框架配置创建方法
2019/08/31 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
python3 简单实现组合设计模式
2020/07/02 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
传媒专业推荐信范文
2013/11/23 职场文书
高三语文教学反思
2014/01/15 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
2016年记者节感言
2015/12/08 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
python脚本框架webpy的url映射详解
2021/11/20 Python