首页 > 解决方案 > 存档最旧日期修改文件夹并移动到另一个文件夹

问题描述

我正在尝试归档最早修改日期的文件夹并移动到另一个文件夹。

我的文件夹结构目前是 c:\test\test1 (最新文件夹)和 c:\test\test2 和 c:\test\test3

我想压缩 test2 和 test 3,因为它们是最旧的修改文件夹并将它们移动到另一个位置,即 c:\archive

我已经设法让它压缩最旧的文件夹,但它不会移动它,也不会移动到另一个文件夹位置,我希望它保持我的档案整洁。

还有一个很好的方法是拥有带有archive_date.zip的zipfolder

import glob
import os
import zipfile

files_dir = r'c:\test\' # here should be path to directory with your files
files = glob.glob(files_dir + '\*')
# find all files that located in specified directory
files_modify_dt = [os.path.getmtime(file) for file in files]
# take files except last modified file
files_to_zip = [file for _, file in sorted(zip(files_modify_dt, files))][:-1]
# zip of selected files
with zipfile.ZipFile(os.path.join(files_dir, 'archive.zip'), 'w', zipfile.ZIP_DEFLATED) as zip_obj:
    for file in files_to_zip:
        zip_obj.write(file, os.path.basename(file))
        os.remove(file)

标签: pythonpython-3.xglobarchivezipfile

解决方案


推荐阅读