Zipfile.infolist () неполный? - PullRequest
       8

Zipfile.infolist () неполный?

0 голосов
/ 07 января 2020

Я хочу распаковать zips с помощью модуля zipfile. Для удобства пользователя я хочу проверить, является ли zip root только одной папкой, и в этом случае я бы хотел извлечь root как есть, или набор файлов, в этом случае я хочу чтобы извлечь содержимое в подпапку.

Все отлично работает для некоторых почтовых индексов, но не для других. Я проследил ошибку до аномалии, когда некоторые папки и файлы полностью игнорируются с помощью метода инфолиста zipfile.

Например, в каждой загружаемой мной версии Blender есть эта проблема. (Я пытался исправить это некоторое время и попробовал несколько отдельных файлов.) Чтобы быть уверенным, я создал новый .txt и сохранил вывод в него со следующим кодом:

import zipfile

zipfile_ = zipfile.ZipFile("C:/path/to/my/zip.zip")
MyList = zipfile_.infolist()
MyFile = open('filelist.txt','w')
for element in MyList:
    MyFile.write(str(element))
    MyFile.write('\n')
MyFile.close()

Папка Blender имеет папку как root: enter image description here

В этом случае она называется "blender-2.81-a856c5eccffb-windows64", но когда я ищу ее в текстовом файле, его там нет: enter image description here

Итак, мой вопрос: почему эта папка не отображается и как мне обойти подобные проблемы?

...