用 Python 实现的效果:
1.找出当前目录下所有修改时间距现在超过3个月的文件;
2.把这些文件重命名,在文件名前面加上时间,比如:demo.txt > 2019-10-31-demo.txt;
3.创建一个文件夹 backup;
4.把所有改名之后的文件,压缩到压缩包里,压缩包的名称加上今天的日期;
5.把压缩包移动到 backup 文件夹里;
6.删掉所有原文件。
实现的思路:
首先算出今天往前3个月的日期;
然后搜索所有修改日期小于这个日期的文件,重命名并把文件地址存到列表里;
创建 backup 文件夹,把列表中的文件压缩到 backup 文件夹下以日期命名的压缩包,并删除。
import os,zipfile,datetime from datetime import date now = date.today() if now.month <= 3: x_month = now.month + 12 - 3 x_year = now.year - 1 else: x_month = now.month - 3 x_year = now.year x_date = datetime.date(x_year,x_month,now.day) # 计算出三个月之前的日期 f_list = [] for dirpath,dirnames,files in os.walk('./'): for f_name in files: f_path = f'{dirpath}/{f_name}' # 文件完整路径 f_date = date.fromtimestamp(os.stat(f_path).st_mtime) # 文件日期 if f_date < x_date: if not f_name.startswith(str(f_date)): # 判断文件名前面是不是有日期 new_path = f'{dirpath}/{f_date}-{f_name}' os.rename(f_path,new_path) print(f'{f_path} --> {new_path}') else: new_path = f_path f_list.append(new_path) # 写入列表 if not os.path.exists('backup'): os.mkdir('backup') with zipfile.ZipFile(f'backup/{now}.zip','w') as z: for z_name in f_list: z.write(z_name) os.remove(z_name) print(f'backup/{now}.zip 已备份压缩成功')
本文用到的知识:
Python 批量创建、复制、移动、删除、重命名文件和文件夹
还有一个关于datatime里data的使用。
更多Python相关文章点击:Python学习日志目录
下一篇:案例:使用Python 对Excel表格文档进行批量处理
- 相关文章 -
Python 数字与数字型运算 - 2020-09-08
Python 基础知识之数据类型 - 2020-09-07
Python 学习中非常好用的编辑器 Sublime Text 3 - 2020-09-07
Python 基础知识之变量 - 2020-09-03
Python 详细安装步骤图解 - 2020-09-01
Python 数据分析模块 Pandas 之 DataFrame 数据 - 2020-02-09
Python 数据分析模块 Pandas 之 Series 数据 - 2020-02-05
Python 数据分析第三方库 Numpy 的安装和使用 - 2020-02-03
- 文章评论 -
- 最新评论[0条评论] -
版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 |
逍遥峡谷 ·
酷品优选
Copyright©Interstellar Central Occult Agency (I.C.O.A)
本局纯属虚构,如有雷同,纯属巧合