Архивирование файлов с использованием Python, кроме последнего файла - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь заархивировать существующий файл, кроме последнего измененного файла в Python или FME. Мне удалось добраться до точки, где я могу заставить python забрать последний измененный файл, но есть идеи, как мне заархивировать все файлы, которые есть в моей папке, кроме последнего измененного файла?

Спасибо

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете решить свою проблему, используя этот фрагмент кода:

import glob
import os
import zipfile

files_dir = r'C:\Users\..\files' # 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)
...