파이썬에서 파일 압축 해제 푸는 방법을 이해할

zipfiledocumentation을 읽었 지만 파일의 압축푸는 방법을 이해할 수 없었고 파일 을 압축 하는 방법 만 이해할 수 없었습니다 . zip 파일의 모든 내용을 동일한 디렉토리에 압축 해제하려면 어떻게합니까?



답변

import zipfile
with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref:
    zip_ref.extractall(directory_to_extract_to)

그게 다야!


답변

Python 3.2 이상을 사용하는 경우 :

import zipfile
with zipfile.ZipFile("file.zip","r") as zip_ref:
    zip_ref.extractall("targetdir")

당신은 사용할 필요가없는 가까이 또는 try / catch를 가 사용하기 때문에이와
컨텍스트 매니저 건설.


답변

extractallPython 2.6 이상을 사용하는 경우이 방법을 사용하십시오.

zip = ZipFile('file.zip')
zip.extractall()

답변

당신은 또한 가져올 수 있습니다 ZipFile:

from zipfile import ZipFile
zf = ZipFile('path_to_file/file.zip', 'r')
zf.extractall('path_to_extract_folder')
zf.close()

Python 2Python 3 에서 작동합니다 .


답변

이 시도 :


import zipfile
def un_zipFiles(path):
    files=os.listdir(path)
    for file in files:
        if file.endswith('.zip'):
            filePath=path+'/'+file
            zip_file = zipfile.ZipFile(filePath)
            for names in zip_file.namelist():
                zip_file.extract(names,path)
            zip_file.close() 

경로 : 압축 해제 파일의 경로


답변

import os
zip_file_path = "C:\AA\BB"
file_list = os.listdir(path)
abs_path = []
for a in file_list:
    x = zip_file_path+'\\'+a
    print x
    abs_path.append(x)
for f in abs_path:
    zip=zipfile.ZipFile(f)
    zip.extractall(zip_file_path)

압축되지 않은 파일에 대한 유효성 검사는 포함되지 않습니다. 폴더에 .zip 파일이 아닌 폴더가 있으면 실패합니다.