通过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进行稳定可靠的文件操作详解
Dec 31 Python
python映射列表实例分析
Jan 26 Python
浅要分析Python程序与C程序的结合使用
Apr 07 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 Python
python 实时得到cpu和内存的使用情况方法
Jun 11 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
python集合是否可变总结
Jun 20 Python
Tensorflow的梯度异步更新示例
Jan 23 Python
Python中for后接else的语法使用
May 18 Python
Python+Appium实现自动抢微信红包
May 21 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
PHP源码之 ext/mysql扩展部分
2009/07/17 PHP
一个PHP分页类的代码
2011/05/18 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
四个PHP非常实用的功能
2015/09/29 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
js实现遮罩层弹出框的方法
2015/01/15 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
使用matplotlib画散点图的方法
2018/05/25 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
python web框架 django wsgi原理解析
2019/08/20 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
python 实现字符串下标的输出功能
2020/02/13 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
Delphi软件工程师试题
2013/01/29 面试题
电气专业应届生求职信
2013/11/01 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
新年主持词
2014/03/27 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
组织委员竞选稿
2015/11/21 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android
JUnit5常用注解的使用
2021/07/02 Java/Android
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL