zipfile - информация о файле в архиве по расширению файла

Использую модуль zipfile для работы с архивами, необходимо извлекать информацию о файле (размер, дата создания), который лежит в архиве (infolist / getinfo). Все работает хорошо, но с недавнего времени в архив начали складывать несколько файлов.

Вопрос следующий - как можно (и можно ли) указать для infolist-a брать только файлы с определенным расширением, либо для getinfo указать только расширение, а не полное имя файла (* он упорно не хочет воспринимать).


Ответы (1 шт):

Автор решения: strawdog

Получайте сначала итератор со списком файлов архива с помощью метода namelist(), а затем забирайте из него те, которые вам нужны:

from zipfile import ZipFile

with ZipFile('sampleDir.zip', 'r') as zipObj:
   # Get list of files names in zip
   listOfiles = zipObj.namelist()
   # Iterate over the list of file names in given list & print them
   for elem in listOfiles:
       if elem.endswith('.txt')
           print(elem)

как-то так.

→ Ссылка