python - 存档最旧日期修改文件夹并移动到另一个文件夹
问题描述
我正在尝试归档最早修改日期的文件夹并移动到另一个文件夹。
我的文件夹结构目前是 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)
解决方案
推荐阅读
- asp.net - 禁止创建 .bak 文件
- javascript - ERR_NAME_NOT_RESOLVED:有没有办法使用 JavaScript 捕获错误?
- javascript - react-router-dom 仅更改 url
- ruby-on-rails - 尝试使用 capistrano 启动 ruby 应用程序,不断获取 libicudata.so.48 丢失,什么包?
- c# - ASP.NET Core 服务器端验证失败导致 Microsoft.AspNetCore.Mvc.SerializableError
- ms-access - MS Access VBA:更新语句中的语法错误
- vba - VBA 选择图像并复制到下一张幻灯片
- jquery - 如何在 jquery 中使用 ajax 从 asp.net 控制器获取 json 数据
- dart - 有什么方法可以自定义文本字段而不用 Flutter 中的 Container 包装?
- jquery - jQuery Tablesorter 特殊日期