English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python으로 폴더 패키징하는 방법 요약(zip, tar, tar.gz 등)

이번 예제에서는 Python으로 폴더를 패키징하는 방법을 설명합니다. 여러분과 공유하고, 구체적인 내용은 다음과 같습니다:

이번에는 zip

import os, zipfile
# 패키지 디렉토리를 압축하지 않은 zip 파일로 패키징합니다.
def make_zip(source_dir, output_filename):
  zipf = zipfile.ZipFile(output_filename, 'w')
  pre_len = len(os.path.dirname(source_dir))
  for parent, dirnames, filenames in os.walk(source_dir):
    for filename in filenames:
      pathfile = os.path.join(parent, filename)
      arcname = pathfile[pre_len:].strip(os.path.sep)   # 상대 경로
      zipf.write(pathfile, arcname)
  zipf.close()

이번에는 tar/tar.gz

import os, tarfile
# 한 번에 전체 루트 디렉토리를 패키징합니다. 공백 서브 디렉토리도 패키징됩니다.
#만약 압축하지 않고 패키지만 만들기라면, "w:gz" 매개변수를 "w:" 또는 "w"으로 변경하면 됩니다.
make_targz(output_filename, source_dir):
  tarfile.open(output_filename, "w:gz") as tar:
    tar.add(source_dir, arcname=os.path.basename(source_dir))
#파일을 하나씩 추가하여 패키지를 만들고, 패키지에 포함되지 않은 빈 서브 디렉토리는 추가하지 않습니다. 파일을 필터링할 수 있습니다.
#만약 압축하지 않고 패키지만 만들기라면, "w:gz" 매개변수를 "w:" 또는 "w"으로 변경하면 됩니다.
def make_targz_one_by_one(output_filename, source_dir):
  tar = tarfile.open(output_filename,"w:gz")
  for root,dir,files in os.walk(source_dir):
    for file in files:
      pathfile = os.path.join(root, file)
      tar.add(pathfile)
  tar.close()

Python 관련 내용에 더 관심이 있는 독자들은 이 사이트의 특辑을 확인해 주세요: 《Python 파일과 디렉토리操作技巧汇总》、《Python 텍스트 파일操作技巧汇总》、《Python URL操作技巧总结》、《Python 이미지操作技巧总结》、《Python 데이터 구조와 알고리즘 튜토리얼》、《Python Socket 프로그래밍技巧总结》、《Python 함수 사용技巧总结》、《Python 문자열操作技巧汇总》 및 《Python 입문과 고급 튜토리얼》

이 문서에 설명된 내용이 여러분의 Python 프로그래밍에 도움이 되길 바랍니다.

명시: 이 문서의 내용은 인터넷에서 가져왔으며, 원작자의 소유입니다. 인터넷 사용자가 자발적으로 기여하고 업로드한 내용이며, 이 사이트는 소유권을 가지지 않으며, 인공적으로 편집되지 않았으며, 관련 법적 책임을 부담하지 않습니다. 저작권 위반 내용을 발견하면 notice#w로 이메일을 보내 주세요.3codebox.com에 이메일을 보내시면, #을 @으로 변경하여 신고하시고 관련 증거를 제공해 주세요. 사실이 확인되면, 이 사이트는 즉시 위반 내용을 삭제할 것입니다.

좋아하는 것