Как уже отмечалось в некоторых постах, большинство полей метаданных в zip-заголовке должны присутствовать. Если содержимое файла, который вы архивируете, каждый раз идентично, то единственное поле, которое будет отличаться, - это отметка времени.
Можно задать временную метку для конкретного значения, создав объект ZipInfo
и изменив метку времени.
Вот подтверждение концепции
import zipfile
file = zipfile.ZipFile("test.zip", "w")
name = "/tmp/testfile.txt"
zi = zipfile.ZipInfo.from_file(name)
zi.date_time = (1980,1,1,0,0,0)
with file.open(zi, mode='w') as member:
with open(name, mode='rb') as file:
fileContent = file.read()
member.write(fileContent)
Приведенный выше код создает test.zip
с меткой времени поля, встроенной до 1 января 1980 года.
$ unzip -l test.zip
Archive: test.zip
Length Date Time Name
--------- ---------- ----- ----
307 1980-01-01 00:00 tmp/testfile.txt
--------- -------
307 1 file