поведение даты файлов при написании zip-файла python - PullRequest
1 голос
/ 11 ноября 2019

Я хочу записать текстовые файлы и сохранить их в zipfile

Проблема, с которой я сталкиваюсь - когда бы я ни извлекал файл, все даты файлов были 1 января 1980

вот код

from zipfile import ZipFile

files = ['A.txt', 'B.txt', 'C.txt']

with ZipFile('example.zip','w') as myzip:
    for file_name in files:
        with myzip.open(file_name, 'w') as file:
            file.write('example text'.encode())

Я хотел бы понять, является ли это ожидаемым поведением и можно ли что-то сделать в коде, чтобы даты были правильными.

1 Ответ

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

Изменение кода для записи вначале текстовых файлов, а затем запись каждого текстового файла в zip-файл гарантирует правильность даты. Но все еще не уверен, почему даты все 1 января 1980 для исходного кода.

Вот настроенный код.

from zipfile import ZipFile

files = ['A.txt', 'B.txt', 'C.txt']

with ZipFile('example.zip','w') as myzip:
    for file_name in files:
        with open(file_name, 'w') as file:
            file.write('example text')
        myzip.write(file_name)

...