通过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科学计算环境推荐——Anaconda
Jun 30 Python
在Python中用split()方法分割字符串的使用介绍
May 20 Python
总结python爬虫抓站的实用技巧
Aug 09 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
Python学习笔记之if语句的使用示例
Oct 23 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
linux 下selenium chrome使用详解
Apr 02 Python
Python Selenium截图功能实现代码
Apr 26 Python
用Python将库打包发布到pypi
Apr 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
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
js密码强度检测
2016/01/07 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
js实现楼层导航功能
2017/02/23 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
npm scripts 使用指南详解
2018/10/08 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
python处理文本文件并生成指定格式的文件
2014/07/31 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
python实现文法左递归的消除方法
2020/05/22 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
2014年干部作风建设总结
2014/10/23 职场文书
债务纠纷起诉书
2015/05/20 职场文书
会议主持词结束语
2015/07/03 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL