Python에서 파일 압축 해제
-
extractall()
메서드를 사용하여 작업 디렉토리에 Python으로 파일 압축 해제 -
extractall()
메서드를 사용하여 Python에서 파일을 다른 디렉토리에 압축 해제 -
조건에 따라
extractall()
메서드를 사용하여 Python에서 파일 압축 해제 -
unpack_archive()
메서드를 사용하여 Python에서 파일 압축 해제
ZIP
파일은 아카이브 파일 형식이며 무손실 데이터 압축에 도움이됩니다. 하나의 ZIP
파일에는 두 개 이상의 압축 파일이 포함될 수 있습니다. ZIP
파일에서는 여러 파일이 단일 파일보다 빠르게 전송되고 데이터 크기가 줄어 듭니다. Python 내장ZipFile
모듈을 사용하여 Zip 파일의 압축을 풀 수 있습니다.
이 기사에서는 Python에서 압축 또는 Zip 파일을 추출하는 다양한 방법에 대해 설명합니다.
extractall()
메서드를 사용하여 작업 디렉토리에 Python으로 파일 압축 해제
먼저 아래 명령을 사용하여 Python 내장zipfile
모듈을 가져 오겠습니다.
from zipfile import ZipFile
전체 예제 코드는 다음과 같습니다.
from zipfile import ZipFile
test_file_name = "my_files.zip"
with ZipFile(test_file_name, "r") as zip:
zip.printdir()
zip.extractall()
ZipFile
함수의r
은 파일 읽기 작업을 나타내는 반면extractall()
함수는 zip 파일의 내용을 현재 작업 디렉토리로 추출합니다.
출력:
File Name Modified Size
file1.txt 2020-11-09 23:03:06 0
file2.txt 2020-11-09 23:03:18 0
extractall()
메서드를 사용하여 Python에서 파일을 다른 디렉토리에 압축 해제
이 방법은 zip 파일을 추출하지만 다른 디렉토리로 추출합니다. 가장 큰 차이점은extractall()
메소드의 인수로 대상 디렉토리를 전달한다는 것입니다.
전체 예제 코드는 다음과 같습니다.
from zipfile import ZipFile
with ZipFile("my_files.zip", "r") as zip:
zip.extractall("temp")
print("File is unzipped in temp folder")
현재 작업 디렉토리에 새 디렉토리temp
가 생성되고 모든 zip 파일이 압축 해제됩니다.
출력:
Files are unzipped in temp folder
조건에 따라extractall()
메서드를 사용하여 Python에서 파일 압축 해제
이 방법은 zip 파일에 많은 수의 파일이 있고 특정 확장자를 가진 파일을 추출해야 할 때 편리합니다. 예를 들어 zip 파일에서.txt
파일을 추출합니다.
전체 예제 코드는 다음과 같습니다.
from zipfile import ZipFile
with ZipFile("my_files.zip", "r") as obj_zip:
FileNames = obj_zip.namelist()
for fileName in FileNames:
if fileName.endswith(".txt"):
zipObj.extract(fileName, "temp_txt")
namelist()
함수는 zip 파일에있는 모든 파일의 이름을 반환합니다.
endswith()
메소드는 파일 이름이.txt
로 끝나는 지 확인합니다. 그렇다면extract()
함수는.txt
파일을 현재 작업 디렉토리의temp_txt
폴더로 추출합니다.
unpack_archive()
메서드를 사용하여 Python에서 파일 압축 해제
이 방법은 Python 내장shutil
모듈을 사용합니다. 아카이브 된 파일의 모든 형식을 추출합니다.
전체 예제 코드는 다음과 같습니다.
import shutil
shutil.unpack_archive("test.zip")
추출 된 파일은이 스크립트를 실행중인 현재 작업 디렉토리에 있습니다.