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 ソケットプログラミングの技術集》、《Python 関数の使用技術集》、《Python 文字列操作の技術集》および《Python 入門と上級向けの经典チュートリアル》

本文で述べたことが皆様のPythonプログラム設計に役立つことを願っています。

声明:本文の内容はインターネットから提供されています。著作権は原著者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしたものであり、本サイトは所有権を有しておらず、人工的な編集は行われていません。著作権侵害を疑われる内容が見つかった場合は、以下のメールアドレスにご連絡ください:notice#oldtoolbag.com(メール送信時は、#を@に変更してください)で通報し、関連する証拠を提供してください。一旦確認がとりたいとされると、本サイトは即座に侵害を疑われるコンテンツを削除します。

基本チュートリアル
おすすめ