Python 예제가 포함된 ZIP 파일

Python zip/tar 아카이브를 빠르게 생성할 수 있습니다.

다음 명령은 전체 디렉토리를 압축합니다.

shutil.make_archive(output_filename, 'zip', dir_name)

다음 명령을 사용하면 보관하려는 파일을 제어할 수 있습니다.

ZipFile.write(filename)

다음은 Zip 파일을 생성하는 단계입니다. Python

단계 1) 아카이브 파일을 생성하려면 Python, 가져오기 진술이 올바르고 순서대로 되어 있는지 확인하십시오. 여기서 아카이브에 대한 가져오기 진술은 다음과 같습니다. from shutil import make_archive

Python 압축 파일

코드 설명

  • 모듈 shutil에서 make_archive 클래스를 가져옵니다.
  • 분할 기능을 사용하여 경로에서 텍스트 파일(guru99) 위치까지 디렉터리와 파일 이름을 분할합니다.
  • 그런 다음 모듈 "shutil.make_archive("guru99 archive, "zip", root_dir)"를 호출하여 zip 형식이 될 아카이브 파일을 생성합니다.
  • 그런 다음 압축하려는 항목의 루트 디렉터리를 전달합니다. 따라서 디렉토리의 모든 내용은 압축됩니다.
  • 코드를 실행하면 패널 오른쪽에 보관된 zip 파일이 생성된 것을 볼 수 있습니다.

단계 2) 보관 파일이 만들어지면 파일을 마우스 오른쪽 버튼으로 클릭하고 OS를 선택하면 아래와 같이 보관 파일이 표시됩니다.

Python 압축 파일

이제 archive.zip 파일이 OS에 나타납니다.Windows 탐색기)

Python 압축 파일

단계 3) 파일을 두 번 클릭하면 해당 파일에 있는 모든 파일 목록이 표시됩니다.

Python 압축 파일

단계 4) In Python 우리는 archive에 포함할 특정 파일을 정의할 수 있기 때문에 archive에 대한 통제력을 더 가질 수 있습니다. 우리의 경우 archive에 두 개의 파일을 포함할 것입니다. “guru99.txt” 그리고 “guru99.txt.bak”.

Python 압축 파일

코드 설명

  • zip 파일에서 Zipfile 클래스 가져오기 Python 기준 치수. 이 모듈은 zip 파일 생성을 완벽하게 제어할 수 있습니다.
  • 이름(“testguru99.zip, “w”)으로 새 Zipfile을 생성합니다.
  • 새 Zipfile 클래스를 생성하려면 파일이므로 권한을 전달해야 하므로 파일에 정보를 newzip으로 작성해야 합니다.
  • 우리가 만든 zip 파일을 참조하기 위해 변수 "newzip"을 사용했습니다.
  • “newzip” 변수에 write 함수를 사용하여 “guru99.txt” 및 “guru99.txt.bak” 파일을 아카이브에 추가합니다.

코드를 실행하면 패널 오른쪽에 "guru99.zip"이라는 이름의 파일이 생성되는 것을 볼 수 있습니다.

주의 사항: 여기서는 "With" 범위 잠금을 사용하기 때문에 "newzip.close"와 같은 파일을 "닫는" 명령을 제공하지 않습니다. 따라서 프로그램이 이 범위를 벗어나면 파일이 정리되고 자동으로 닫힙니다.

단계 5) . -> 파일(testguru99.zip)을 마우스 오른쪽 버튼으로 클릭하고 -> OS를 선택합니다(Windows 탐색기), 아래와 같이 폴더의 보관 파일이 표시됩니다.

Python 압축 파일

"testguru99.zip" 파일을 두 번 클릭하면 또 다른 창이 열리고, 여기에 포함된 파일이 표시됩니다.

Python 압축 파일

다음은 완전한 코드입니다.

Python 2 예

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

def main():
# Check if file exists
	if path.exists("guru99.txt"):
# get the path to the file in the current directory
	src = path.realpath("guru99.txt");
# rename the original file
	os.rename("career.guru99.txt","guru99.txt")
# now put things into a ZIP archive
	root_dir,tail = path.split(src)
    shutil.make_archive("guru99 archive", "zip", root_dir)
# more fine-grained control over ZIP files
	with ZipFile("testguru99.zip","w") as newzip:
	newzip.write("guru99.txt")
	    newzip.write("guru99.txt.bak")
if __name__== "__main__":
	  main()

Python 3 예

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

    # Check if file exists
       if path.exists("guru99.txt"):
    # get the path to the file in the current directory
        src = path.realpath("guru99.txt");
    # rename the original file
        os.rename("career.guru99.txt","guru99.txt")
    # now put things into a ZIP archive
        root_dir,tail = path.split(src)
        shutil.make_archive("guru99 archive","zip",root_dir)
    # more fine-grained control over ZIP files
        with ZipFile("testguru99.zip", "w") as newzip:
            newzip.write("guru99.txt")
            newzip.write("guru99.txt.bak")

제품 개요

  • 디렉토리 전체를 압축하려면 "shutil.make_archive("name","zip", root_dir) 명령을 사용하세요.
  • 압축할 파일을 선택하려면 "ZipFile.write(파일 이름)" 명령을 사용하세요.