• 您当前位置:网站首页 >> Python学习 >> 案例:用 Python 把最近三个月未修改过的文件进行压缩备份
  • 案例:用 Python 把最近三个月未修改过的文件进行压缩备份

    iCoA首席特工 逍遥峡谷 发布:2020-01-07 更新:2020-01-11 浏览0条评论
    内容简介

    相关关键词:Python   文件处理   文件备份压缩  

    本文链接:https://www.icoa.cn/a/894.html

    本站文章如非注明皆为原创,未经允许禁止转载。如有问题可以给我留言或发邮件。

    用 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 搜索、遍历文件、文件夹和查看文件信息

    Python 批量创建、复制、移动、删除、重命名文件和文件夹

    Python 创建和解压压缩包

    还有一个关于datatime里data的使用。

    更多Python相关文章点击:Python学习日志目录

    本文链接:https://www.icoa.cn/a/894.html
    关键词: Python   文件处理   文件备份压缩  


    如果您愿意支持本站,欢迎点击打赏哦~



    下一篇:案例:使用Python 对Excel表格文档进行批量处理

    上一篇:案例:使用 Python 批量给文件名加序号


    - 相关文章 -


    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


    - 文章评论 -




    6624

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[0条评论] -


    [>>>点击查看更多评论]

    版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 | 逍遥峡谷 · 酷品优选
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合

    冀公网安备13011102001055号 · 冀ICP备06033848号