python根据时间和类型查找文件并将该文件复制到新的文件夹下
在现实生活中,我们可能遇到需要对文件夹里的各种文档进行处理。
假设存在一种需求:文件夹里的文件太多,我们需要抽取出某个时间段以前的文件。
今天来实现下这个需求。
之前写过一些关于文件整理的,今天只是补充下。
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根据时间和类型查找文件并将该文件复制到新的文件夹下相关推荐
- python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例
用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...
- python实现将子文件夹下的图片复制到新的文件夹并重命名
一.要求 在文件夹中有若干子文件夹,且子文件夹中有若干图片,按照要求将子文件夹中符合命名的图片复制到新的文件夹中,并重新命名这些图片. 即将在train文件夹中有若干命名为rgb_0001_json的 ...
- 把一个文件中的内容,复制到另外一个文件中
# 把一个文件中的内容,复制到另外一个文件中.# 基础目录 BASE_DIR = "E:/python重新学习/python核心编程/文件读写/" # 读取的文件名 READ_FI ...
- python 多文件夹中按条件复制到新的文件夹并重命名
将文件夹2010,2011,label中的文件,复制到res/train1 - 文件中去,train1 是新建的文件夹,并重命名 import shutil import osdef read_fil ...
- Java读取Excel文件数据并将记录写入到新的文件中--POI技术实现
1. apache poi包里有4个主要的类: Workbook----工作表,通过WorkbookFactory的create(FileInputStream fis)方法获取, Sheet---- ...
- python:判断路径是否存在,若不存在则创建一个新的文件夹
import os# 判断一个路径是否存在,若不存在则创立文件夹 def path_exists_make(path):# path: 需要判断的路径if os.path.exists(path):p ...
- (转) java 复制文件,不使用输出流复制,高效率,文件通道的方式复制文件
public static void fileChannelCopy(File s, File t) {FileInputStream fi = null;FileOutputStream fo = ...
- VIM 将一个文件中的多行复制到另一个文件
必须用vim同时打开两个文件,如果分别打开无法粘贴. 如把train.txt的内容复制到train1.txt: vim train.txt train1.txt 在train.txt中复制好后输入 : ...
- python将图片按照标签分类复制到指定的文件夹
对文件夹test下的图片进行kmeans聚类之后(这里我将k设为7),得到一个txt文件.txt文件中有两列数据,第一列是对应图片属于的类别,第二列是该图片距离质心的距离.如图所示: 现在我新建了0到 ...
最新文章
- JS正则表达式验证身份证号码
- c语言两个for语句并列执行_C语言两个for语句如何并列编写?
- Kafka解惑之Old Producer(3)——Async Analysis
- 再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
- C语言进阶——全局变量
- 撤消git update-index --assume-unchanged file
- Leetcode1293.网格中的最短路径
- linux 开机logo制作工具,linux开机logo制作
- 【MATLAB】QPSK调制与解调在MATLAB平台上的实现
- 怎样在Excel中添加水印?学会这个方法可以轻松搞定
- 学习Java,你能做这些工作:
- 阿里中间件seata源码剖析七:saga模式实现
- 机器学习和python学习之路精心整理技术书从入门到进阶
- win10亮度调节变为灰色无法调节
- Android studio如何导入导出手机和模拟器文件
- vulnhub Funbox: 1
- “一切皆是映射” (光剑)
- BCD码 —— 8421码,余3码,2421码
- Python爬虫:获取糗事百科笑话
- 如何使用 mps 开发原生小程序
热门文章
- 【虚拟化】Linux中安装配置Docker
- FineReport——设计时无相关数据库查看权限,使用对应数据库解决方案
- Python——CSV文件读写(CSV库)
- Colored Boots
- GitHub/Git 使用
- .ini文件中的PHP 5.6 error_reporting设置不起作用
- 最新cocoaPods安装、升级、卸载及删除库命令(持续更新)
- iOS8开发~UI布局(三)深入理解autolayout
- Android 任意区域截屏
- 《Java 核心技术卷1 第10版》学习笔记------ 控制可见性的4个访问修饰符详解