通过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函数嵌套实例
Sep 23 Python
浅谈python对象数据的读写权限
Sep 12 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
好的Python培训机构应该具备哪些条件
May 23 Python
python画图的函数用法以及技巧
Jun 28 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
python实现局域网内实时通信代码
Dec 22 Python
pytorch模型预测结果与ndarray互转方式
Jan 15 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
Python绘制分类图的方法
Apr 20 Python
Python中tqdm的使用和例子
Sep 23 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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
php不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
一段实时更新的时间代码
2006/07/07 Javascript
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
使用console进行性能测试
2015/04/27 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
angularjs的select使用及默认选中设置
2017/04/08 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
Vue实现todolist删除功能
2018/06/26 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
python获取文件扩展名的方法
2015/07/06 Python
详解Django中的form库的使用
2015/07/18 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
Python简单实现区域生长方式
2020/01/16 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
Html5元素及基本语法详解
2016/08/02 HTML / CSS
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
应届生财务管理求职信
2013/11/06 职场文书
《藏戏》教学反思
2014/02/11 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
转变工作作风心得体会
2016/01/23 职场文书
英语教学课后反思
2016/02/15 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android