在现实生活中,我们可能遇到需要对文件夹里的各种文档进行处理。
假设存在一种需求:文件夹里的文件太多,我们需要抽取出某个时间段以前的文件。
今天来实现下这个需求。
之前写过一些关于文件整理的,今天只是补充下。
python自动化办公:文件篇(自动整理文件,一键完成)

时间模块
python 日期和时间处理(time,datetime模块讲解)
os模块
Python os.path() 模块 详解 附算例

re模块
python :re模块基本用法

获取访问时间
t = os.path.getatime(filePath)
获取创建时间
t = os.path.getctime(filePath)
#获取修改时间
t = os.path.getmtime(filePath)

准备工作
原始数据文件夹

新建一个空白文件夹

代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Author: yudengwu(余登武)
# @Date  : 2020/10/4
#@email:1344732766@qq.comimport os
import reimport time
from datetime import datetime
#首先定义规则,pattern=re.compile(r'.+\.jpg|pdf')#定义文档类型,寻找jpg,pdffor root ,dirs,files in os.walk(r'C:\Users\Shineion\Desktop\yu'):for name in files:file_path=os.path.join(root,name)#包含路径的文件if pattern.search(file_path) is not None :#print(file_path)#匹配到的文件 文件路径名ctime=time.localtime(os.path.getctime(file_path))#创建时间"""#time.struct_time(tm_year=2020, tm_mon=9, tm_mday=20, tm_hour=13, tm_min=45, tm_sec=50, tm_wday=6,tm_yday=264, tm_isdst=0)"""ctime=time.strftime("%Y/%m/%d %H:%M:%S",ctime)#字符型"""ctime2020/09/20 13:45:50"""ctime=datetime.strptime(ctime, "%Y/%m/%d %H:%M:%S")#ctime 由字符型转换为时间性t1 = datetime(year=2020, month=10, day=26,hour = 7, minute = 9, second = 33)#自定义一个时间#做差if ctime<t1:command_line = 'copy %s D:\\余登武测试' % file_path.replace('/', '\\')#cmd复制命令os.system(command_line)#调用cmdprint('复制成功')

结果和简单解析
结果:

查看下zhengjian为什么没有复制过来,发现属性为JPG

修改文档类型为
pattern=re.compile(r'.+\.jpg|pdf|JPG')

这次复制过来啦

修改日期为9月26日,即只要9月26日之前的文件(PDF,jpg)。

注意事项:有时文件复制失败 可能是文档名的原因(有些文档名即有中文,又有英文。容易失败)

代码解析

os.system(command_line)调用cmd来执行复制文件。
cmd复制文件命令:
copy 源文件 目的路径

time 时间不可以做差等计算,datetime可以

    ctime=time.localtime(os.path.getctime(file_path))#创建时间"""#time.struct_time(tm_year=2020, tm_mon=9, tm_mday=20, tm_hour=13, tm_min=45, tm_sec=50, tm_wday=6,tm_yday=264, tm_isdst=0)"""ctime=time.strftime("%Y/%m/%d %H:%M:%S",ctime)#字符型"""ctime2020/09/20 13:45:50"""ctime=datetime.strptime(ctime, "%Y/%m/%d %H:%M:%S")#ctime 由字符型转换为时间性

还可以删除文件,不复制。

指令os.remove(文件)

电气工程的计算机萌新:余登武。
写博文不容易,如果你觉得本文对你有用,请点个赞支持下,谢谢。

python根据时间和类型查找文件并将该文件复制到新的文件夹下相关推荐

  1. python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例

    用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...

  2. python实现将子文件夹下的图片复制到新的文件夹并重命名

    一.要求 在文件夹中有若干子文件夹,且子文件夹中有若干图片,按照要求将子文件夹中符合命名的图片复制到新的文件夹中,并重新命名这些图片. 即将在train文件夹中有若干命名为rgb_0001_json的 ...

  3. 把一个文件中的内容,复制到另外一个文件中

    # 把一个文件中的内容,复制到另外一个文件中.# 基础目录 BASE_DIR = "E:/python重新学习/python核心编程/文件读写/" # 读取的文件名 READ_FI ...

  4. python 多文件夹中按条件复制到新的文件夹并重命名

    将文件夹2010,2011,label中的文件,复制到res/train1 - 文件中去,train1 是新建的文件夹,并重命名 import shutil import osdef read_fil ...

  5. Java读取Excel文件数据并将记录写入到新的文件中--POI技术实现

    1. apache poi包里有4个主要的类: Workbook----工作表,通过WorkbookFactory的create(FileInputStream fis)方法获取, Sheet---- ...

  6. python:判断路径是否存在,若不存在则创建一个新的文件夹

    import os# 判断一个路径是否存在,若不存在则创立文件夹 def path_exists_make(path):# path: 需要判断的路径if os.path.exists(path):p ...

  7. (转) java 复制文件,不使用输出流复制,高效率,文件通道的方式复制文件

    public static void fileChannelCopy(File s, File t) {FileInputStream fi = null;FileOutputStream fo = ...

  8. VIM 将一个文件中的多行复制到另一个文件

    必须用vim同时打开两个文件,如果分别打开无法粘贴. 如把train.txt的内容复制到train1.txt: vim train.txt train1.txt 在train.txt中复制好后输入 : ...

  9. python将图片按照标签分类复制到指定的文件夹

    对文件夹test下的图片进行kmeans聚类之后(这里我将k设为7),得到一个txt文件.txt文件中有两列数据,第一列是对应图片属于的类别,第二列是该图片距离质心的距离.如图所示: 现在我新建了0到 ...

最新文章

  1. JS正则表达式验证身份证号码
  2. c语言两个for语句并列执行_C语言两个for语句如何并列编写?
  3. Kafka解惑之Old Producer(3)——Async Analysis
  4. 再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
  5. C语言进阶——全局变量
  6. 撤消git update-index --assume-unchanged file
  7. Leetcode1293.网格中的最短路径
  8. linux 开机logo制作工具,linux开机logo制作
  9. 【MATLAB】QPSK调制与解调在MATLAB平台上的实现
  10. 怎样在Excel中添加水印?学会这个方法可以轻松搞定
  11. 学习Java,你能做这些工作:
  12. 阿里中间件seata源码剖析七:saga模式实现
  13. 机器学习和python学习之路精心整理技术书从入门到进阶
  14. win10亮度调节变为灰色无法调节
  15. Android studio如何导入导出手机和模拟器文件
  16. vulnhub Funbox: 1
  17. “一切皆是映射” (光剑)
  18. BCD码 —— 8421码,余3码,2421码
  19. Python爬虫:获取糗事百科笑话
  20. 如何使用 mps 开发原生小程序

热门文章

  1. 【虚拟化】Linux中安装配置Docker
  2. FineReport——设计时无相关数据库查看权限,使用对应数据库解决方案
  3. Python——CSV文件读写(CSV库)
  4. Colored Boots
  5. GitHub/Git 使用
  6. .ini文件中的PHP 5.6 error_reporting设置不起作用
  7. 最新cocoaPods安装、升级、卸载及删除库命令(持续更新)
  8. iOS8开发~UI布局(三)深入理解autolayout
  9. Android 任意区域截屏
  10. 《Java 核心技术卷1 第10版》学习笔记------ 控制可见性的4个访问修饰符详解