ホームページ バックエンド開発 Python チュートリアル zipfile モジュールを使用して Python 3.x で ZIP ファイルを作成および解凍する方法

zipfile モジュールを使用して Python 3.x で ZIP ファイルを作成および解凍する方法

Jul 30, 2023 pm 06:49 PM
python zipfile zipファイルの作成・解凍

zipfile モジュールを使用して Python 3 で ZIP ファイルを作成および解凍する方法.x

はじめに:
Python プログラミングでは、ファイルの圧縮と解凍を処理するのが一般的なタスクです。 zipfile モジュールは、ZIP ファイルを作成および解凍するための便利な方法を提供します。この記事では、zipfile モジュールを使用して ZIP ファイルを作成および解凍する方法と、対応するコード例を紹介します。

1. ZIP ファイルの作成:
ZIP ファイルを作成するには、まず zipfile モジュールをインポートし、次に ZipFile オブジェクトを使用してファイルを作成および書き込みます。簡単なコード例を次に示します。

import zipfile

# 创建一个名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'w') as myzip:
    # 向ZIP文件中写入一个名为file1.txt的文件
    myzip.write('file1.txt')
    # 向ZIP文件中写入一个名为file2.txt的文件
    myzip.write('file2.txt')
    # 可以通过使用相对路径来写入文件到ZIP文件的指定目录下
    myzip.write('folder/file3.txt', 'data/file3.txt')
ログイン後にコピー

上記のコードでは、Python のコンテキスト マネージャー (with ステートメント) を使用して、操作の完了後に ZIP ファイルが確実に閉じられるようにしています。 with ステートメント内で、write() メソッドを通じてファイルを ZIP ファイルに書き込みます。 write()このメソッドには 2 つのパラメータが含まれています。最初のパラメータは書き込まれるファイル名またはパスで、2 番目のパラメータは ZIP ファイル内のファイルのパスです。 2 番目の引数が指定されていない場合、ファイルは ZIP ファイルのルート ディレクトリに書き込まれます。

2. ZIP ファイルの抽出:
ZIP ファイルを解凍するには、zipfile.ZipFile オブジェクトの extractall() メソッドを使用します。 ZIP ファイルを解凍するサンプル コードを次に示します。

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 解压ZIP文件的所有内容到当前目录下
    myzip.extractall()
ログイン後にコピー

上記のコードでは、ZIP ファイルの作成に使用したものと同様のコンテキスト マネージャーを使用して、解凍操作後に ZIP ファイルが確実に閉じられるようにします。完成されました。 extractall() メソッドを使用して、ZIP ファイルのすべての内容を現在のディレクトリに抽出します。 ZIP ファイルを指定したディレクトリに抽出する必要がある場合は、extractall() メソッドにパラメータを渡して、解凍先のパスを指定できます。

3. ZIP ファイルの内容を走査します:
ZIP ファイルの作成と解凍に加えて、ZIP ファイル内のすべてのファイルとディレクトリを走査することもできます。 zipfile.ZipFile オブジェクトは、ZIP ファイル内のすべてのファイルとディレクトリのリストを取得する namelist() メソッドを提供します。以下は、ZIP ファイルの内容を走査するサンプル コードです。

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 获取ZIP文件中的所有文件和目录列表
    filelist = myzip.namelist()
    
    # 遍历文件列表并打印
    for filename in filelist:
        print(filename)
ログイン後にコピー

上記のコードでは、namelist() メソッドを使用して ZIP ファイルのファイル リストを取得し、それを変数 filelist に代入します。次に、for を使用して filelist をループし、ファイル名を出力します。

結論:
zipfile モジュールを使用すると、ZIP ファイルを簡単に作成および解凍できます。この記事では、zipfile モジュールを使用して ZIP ファイルの作成、ZIP ファイルの解凍、ZIP ファイルの内容の走査を行う方法と、対応するコード例を紹介します。この記事が、Python プログラミングでファイルの圧縮および解凍タスクを処理する際に役立つことを願っています。

以上がzipfile モジュールを使用して Python 3.x で ZIP ファイルを作成および解凍する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

Scapy Crawlerを使用するときにパイプラインの永続的なストレージファイルを書き込めない理由は何ですか? Scapy Crawlerを使用するときにパイプラインの永続的なストレージファイルを書き込めない理由は何ですか? Apr 01, 2025 pm 04:03 PM

Scapy Crawlerを使用する場合、パイプラインの永続的なストレージファイルを書くことができない理由は?ディスカッションデータクローラーにScapy Crawlerを使用することを学ぶとき、あなたはしばしば...

Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Apr 01, 2025 pm 06:27 PM

Python:Hourglassグラフィック図面と入力検証この記事では、Python NoviceがHourglass Graphic Drawingプログラムで遭遇する可変定義の問題を解決します。コード...

PythonプロセスプールがTCPリクエストを同時に処理し、クライアントが立ち往生する理由は何ですか? PythonプロセスプールがTCPリクエストを同時に処理し、クライアントが立ち往生する理由は何ですか? Apr 01, 2025 pm 04:09 PM

Python Process Poolは、クライアントが立ち往生する原因となる同時TCP要求を処理します。ネットワークプログラミングにPythonを使用する場合、同時のTCP要求を効率的に処理することが重要です。 ...

Python functools.partialオブジェクトによって内部的にカプセル化された元の関数を表示する方法は? Python functools.partialオブジェクトによって内部的にカプセル化された元の関数を表示する方法は? Apr 01, 2025 pm 04:15 PM

python functools.partialオブジェクトのpython functools.partialを使用してPythonを使用する視聴方法を深く探索します。

Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Apr 01, 2025 pm 05:24 PM

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...

GoogleとAWSはパブリックピピイメージソースを提供していますか? GoogleとAWSはパブリックピピイメージソースを提供していますか? Apr 01, 2025 pm 05:15 PM

多くの開発者はPypi(PythonPackageIndex)に依存しています...

See all articles