圧縮ソフトは必要ありません。pythonで圧縮カバンを操作してあげます。

3521 ワード

前に書く
圧縮パッケージはインターネット上のソフトウェアリリースの標準的なフォーマットであり、システム管理にも役立つ。複数のファイルを他の人に送信する必要がある場合は、圧縮パッケージで送信したほうがいいです。また、いくつかのファイルをバックアップする場合は、ディスクの空き容量を減らすためにも、バックアップのデータを圧縮する必要があります。
Pythonには圧縮パッケージの作成、圧縮パケットの解凍、圧縮パッケージのファイルリストの取得など、一連のツールがあります。今日の記事では、圧縮パッケージに関するPython標準ライブラリを学びます。
zip圧縮パッケージの管理
ほとんどの場合、私たちはWindowsでzipを使って圧縮し、Linuxでgzipまたはbzip 2を使って圧縮します。この部分は、zip形式の圧縮カバンの管理方法を見てみます。
1.zipを読みだします
Python管理zipfileモジュールは主にzipfileモジュールを使用しています。このモジュールにはZipFileというオブジェクトがあります。私たちはzip圧縮パッケージの名前をこのオブジェクトの関数に渡すことで、zip圧縮パッケージを開け、ZipFileのオブジェクトを得て、このオブジェクトの方法を使ってzip圧縮パッケージの内容を読み取ります。具体的には以下の通りです。

>>> import zipfile
>>> first_zip = zipfile.ZipFile('test.zip')
>>> first_zip.namelist()
namelist()はZipFileでよく使われていますが、初めて以外にもextract、extractがあります。
  • namelist:リストを返します。リストにはzipに含まれているすべてのファイルとフォルダです。
  • extract:zipから単一ファイルを抽出する
  • extactall:zipファイルからすべてのファイルを抽出する
  • 2.zipの作成
    ファイルと同様に、zip形式の圧縮ファイルを作成するには、zipファイルを「書く」モードで開く必要があります。具体的には以下の通りです。
    
    >>> import zipfile
    >>> my_zip = zipfile.ZipFile('test.zip', 'w')
    >>> my_zip.write('test.py')
    >>> my_zip.close()
    上のコードはtest.zipという新しいzipファイルを作成しました。test.py圧縮後の内容を含みます。
    タタリの管理
    タタコマンドは、一般にLinuxシステムにおいて圧縮パケットを作成し、圧縮パケットの圧縮アルゴリズムを指定することができる。また、タタコマンドは、圧縮されていないタタパケットを作成することもできます。複数のファイルを梱包して転送しやすいようにするためだけです。これは、タタコマンドを使用すると、普通のタタパケットを作成することができますし、圧縮アルゴリズムを使って圧縮された圧縮パッケージを作成することもできます。
    Pythonでは、タプル標準ライブラリを使用してタタコマンドが提供する機能を提供しています。圧縮または非圧縮タタパッケージを作成するためにも使用できます。Pythonのシンプルさと優雅さが各方面に反映されているという話は何度もありましたが、ここではタリフィルモジュールがLinuxの下のtar命令よりも使いやすいです。
    1.タペストリーを読み込む
    同様に、tarパケットとPythonのファイル管理操作を読み取るには、圧縮パッケージを読み書きし、オープンモードを指定するとともに、操作が完了したらファイルを閉じます。もちろんここでは、コンテキストマネージャを使ってファイルのクローズロジックを保証します。具体的には以下の通りです。
    
    >>> import tarfile
    >>> with tarfile.open('etc.tar') as t:
    ...  for member in t.getmembers():
    ...     print(member.name)
    上のコードでは、タプルライブラリを導入し、デフォルトの読み取りモードでタタパケットを開き、タフィレ.オプン関数はタゴールオブジェクトを返します。このオブジェクトは現在開いているタタパケットを表しています。このオブジェクトの方法でタタパケットの内容を操作して読み取ることができます。
    tarefileにはたくさんの関数があります。その中で一番よく使われているのはgetnames、extract、extracall関数です。
  • getnames:tarパケットのファイルリストを取得する。
  • extract:単一ファイルを抽出する。
  • extracall:すべてのファイルを抽出します。
  • 2.タタリパックを作成する
    上記の例から見ると、タタパケットを読むのは一つのファイルを読むのと似ています。いずれも「読む」という方法でファイルを開いて一つのオブジェクトを得て、そのオブジェクトを操作する方法です。同じようにtarパッケージを作成してファイルを作成しても似ています。具体的には以下の通りです。
    
    >>> import tarfile
    >>> with tarfile.open('etc.tar', mode='w') as f:
    ...   f.add('test.py')
    上のコードでは、私たちはtarパケットを作成するので、「書き込み」モードでtarパケットを開き、TarFileオブジェクトを得て、TarFileオブジェクトのaddメソッドを使ってtest.pyファイルをtarパケットに追加します。
    3.タタリfile読み込みと圧縮パッケージ作成
    上記では、圧縮されていないtarパケットをtargfileで作成して読み出しますが、一般的には、tarパケットを作成する時には圧縮アルゴリズムを使って圧縮して、伝送速度を速くし、ディスク空間を削減します。
    タプルを使って圧縮パッケージを作成して読み込みするのはとても簡単です。ファイルを開く時に圧縮アルゴリズムを指定すればいいです。tarefileのopen関数は、「オンモード:圧縮アルゴリズム」という形で開けばいいです。具体的には以下の通りです。
    a.gzipアルゴリズムで圧縮したtarパッケージを読み込む:
    
    >>> import tarfile
    >>> with tarfile.open('etc.tar', mode='r:gz') as f:
    b.bzip 2アルゴリズムで圧縮したtarパケットを作成する:
    
    >>> import tarfile
    >>> with tarfile.open('etc.tar', mode='w:bz2') as f:
    以上はソフトウェアを圧縮する必要がないので、pythonで圧縮パッケージの詳細を操作してあげます。python圧縮パッケージに関する資料は他の関連記事に注目してください。