Метод python zipfile.ZipFile () создает 20-гигабайтный ZIP-файл из оригинала 6M - PullRequest
0 голосов
/ 14 декабря 2011

Я запускаю программу на Python (v2.7), которая выводит архив, чтобы его можно было отправить по электронной почте.Обычно это работает как положено, но иногда заархивированный файл настолько велик, что машине не хватает места на диске.Тем не менее, когда я заархивирую файл вручную с помощью программы поиска, он работает нормально - в этом случае файл размером 6 МБ упакован в файл размером 1,6 МБ с помощью программы поиска, но метод python zip генерирует файл размером 20 ГБ.Вот код, где происходит архивирование:

    zip = zipfile.ZipFile(zipfilename,"w",zipfile.ZIP_DEFLATED)
    for f in os.listdir("."):
        if fnmatch.fnmatch(f,"*final*"):
            zip.write(f)
    zip.close()

Есть ли способ исправить это или, по крайней мере, избежать создания гигантского файла?

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Возможно, вы создаете этот zip-файл в той же директории, и затем программа пытается добавить сам zip-файл в zip-файл?

0 голосов
/ 14 декабря 2011

Это Linux? Я думаю, вы включили скрытые файлы и папки?

...