Задать вопрос
@ArtemMik
Python

Как сделать цикл разархированния файлов zip?

Суть кода:
Есть папка с zip файлами (tdatas), надо чтобы zip файлы открывались и из низ извлекалась папка (tdata), которая будет закидываться в папку session, и в идеале надо чтобы имя извикаемой папки из zip менялось на название zip файла, это всё должно быть в цикле, потому что файлов zip может быть очень много в папке

Вот мой код по извлечению одного конкретного файла:

import zipfile

path_to_zip_file = r"F:\pythonProject\test_canverter_tdata\tdatas\83068027_tdata.zip"
directory_to_extract_to = "sessions"

with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref:
    zip_ref.extractall(directory_to_extract_to)
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Шаг 1: сделай на базе своего кода подпрограмму, которая делает то, что нужно, принимая в качестве параметра путь к zip-файлу и путь к целевой папке session.
Шаг 2: получи список путей к zip-файлам, подлежащих обработке
Шаг 3: для каждого файла вызови свою подпрограмму.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Daemon23RUS
@Daemon23RUS
import os
dir = os.fsencode("F:\pythonProject\test_canverter_tdata\tdatas")
for file in os.listdir(dir):
     filename = os.fsdecode(file)
     if filename.endswith(".zip": 
         # Ваш код. Имя файла в filename
         continue
     else:
         continue

А с переименовыванием файла при извлечении из ZIP не подскажу, не сталкивался
Ответ написан
Комментировать
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
1.Получаете список архивов.
2.Далее в цикле:
2.1 Получаете имя файла с помощью деления строки/регулярного выражения
2.2 Подставляете название в путь
2.3 Передаете в код необходимые значения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы