Как я могу извлечь все расширение .zip в папку, не сохраняя каталог с помощью Python? - PullRequest
0 голосов
/ 25 сентября 2018

Вот мой код, я не знаю, как я могу зациклить каждый .zip в папке, пожалуйста, помогите мне: я хочу, чтобы все содержимое 5 zip-файлов было извлечено в одну папку, не включая его имя каталога

import os
import shutil
import zipfile
my_dir = r"C:\\Users\\Guest\\Desktop\\OJT\\scanner\\samples_raw"

my_zip = r"C:\\Users\\Guest\\Desktop\\OJT\\samples\\001-100.zip"
with zipfile.ZipFile(my_zip) as zip_file:
zip_file.setpassword(b"virus")
for member in zip_file.namelist():
    filename = os.path.basename(member)
    # skip directories
    if not filename:
        continue

    # copy file (taken from zipfile's extract)
    source = zip_file.open(member)
    target = file(os.path.join(my_dir, filename), "wb")
    with source, target:
        shutil.copyfileobj(source, target)

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

То, что вы ищете, это glob .Который можно использовать так:

#<snip>
import glob

#assuming all your zip files are in the directory below.
for my_zip in glob.glob(r"C:\\Users\\Guest\\Desktop\\OJT\\samples\\*.zip"):
    with zipfile.ZipFile(my_zip) as zip_file:
        zip_file.setpassword(b"virus")
        for member in zip_file.namelist():
            #<snip> rest of your code here.
0 голосов
/ 25 сентября 2018

повторный вопрос, см. Ссылку ниже.

Как рекурсивно извлечь zip-файл в Python n

...