TarFile クラスは tar アーカイブであり、ヘッダー ブロックとデータ ブロックを含むメンバー ブロックで構成されます。各メンバーは TarInfo オブジェクトの形式で記述されます。したがって、TarFile は TarInfo のシーケンスです。
序文
この記事のテーマは、Python のサードパーティ ライブラリですzipfile
。作業では大量の圧縮 zip ファイルを処理するため、空き時間を利用して出力を整理し、作業の楽しみを向上させます。
1、tarファイル
このツールは、zip アーカイブ内のすべてのメンバーの作成、読み取り、書き込み、追加、およびリストを行うのに役立ちます。圧縮パッケージのより効率的な処理により、高速データ処理という目的が達成されました。
入口1:tarfile.open(name=“sample.zip”)
tar = tarfile.open(name="sample.zip")
、パス名名の TarFile オブジェクトを返します。このオブジェクトは、すべての解凍、ルールを満たすファイルの解凍、追加、書き込みなどに使用できます。
1 2 3 4 |
|
エントリ 2:tarfile.is_tarfile(name)
tarfile.is_tarfile(name)
、ファイルが tar パッケージであるかどうかを判断するため、name はファイルのパスです。
1 2 3 |
|
2. TarFile オブジェクトを開いた後に処理します。
TarFile オブジェクトは、with ステートメントでコンテキスト マネージャーとして使用できます。ステートメントブロックが終了すると自動的に閉じられます。tarfile オブジェクトは主に次の目的で使用されます。
- アーカイブメンバー名の生成
- アーカイブされたメンバー tarnifo オブジェクトを生成する
- ファイルがアーカイブ内にあるかどうかを確認する
- アーカイブメンバーの信頼情報をインターフェースに出力します。
- tar パッケージ全体を指定されたディレクトリに解凍します。
- tar パッケージ内のファイルを指定したディレクトリに解凍します。
- アーカイブ内のメンバーをファイル tarinfo オブジェクトとして抽出します
- 指定ディレクトリのjiao.txtを指定ディレクトリのtarパッケージに圧縮します tarが存在しない場合は新規作成します 存在する場合は中身を置き換えます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
3. 2で返されたTarInfoオブジェクトを処理します。
TarInfo オブジェクトは TarFile 内のファイルを表し、必要なすべてのファイル属性 (ファイル タイプ、サイズ、時間、アクセス許可、所有者など) を保存するだけでなく、ファイル タイプを判断するための便利なメソッドも提供します。このオブジェクトにはファイル データ自体は含まれません (つまり、テキスト テキスト内のデータを取得できません)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
4. 例
tar アーカイブ全体を現在の作業ディレクトリに抽出する方法
1 2 3 4 |
|
如何通过 TarFile.extractall()
使用生成器函数而非列表来提取一个 tar包成员的子集
1 2 3 4 5 6 7 8 9 10 |
|
将一堆文件压缩成tar包:
1 2 3 4 5 |
|
使用 with 语句将一堆文件压缩成tar包
1 2 3 4 |
|
读取一个 gzip 压缩的 tar 包并显示一些成员信息
1 2 3 4 5 6 7 8 9 10 11 |
|
创建一个归档并使用 TarFile.add()
中的 filter
形参来重置用户信息
1 2 3 4 5 6 7 8 |
|
到此这篇关于python tarfile压缩包操作保姆级教程的文章就介绍到这了。
点击拿去
50G+学习视频教程
100+Python初阶、中阶、高阶电子书籍