問題タブ [tarfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4574 参照

python - tarfile と無効なヘッダー エラーに関する問題

http://download.geofabrik.de/africa/botswana-latest.osm.bz2の tarfile があります。

ファイルをディスクに保存し、Pythontarfileライブラリを使用して .osm ファイルを抽出すると、無効なヘッダー エラーが発生します。

このエラーを回避する方法はありますか?

7zip は問題なくファイルを開いてデータを抽出できますが、データの抽出をスクリプト化する必要があります。

0 投票する
1 に答える
127 参照

python - ハードリンクの作成を無効にする方法

Python の tarfile モジュールを使用して、tar の Q オプション (注: Haiku 固有) と同等のものを指定する方法はありますか?

現在、コードは基本的に次のとおりです。

0 投票する
1 に答える
2114 参照

python - Python tarfile が有効な .tar.gz ファイルを作成しない

ダウンロード用の .tar.gz ファイルを作成する Django アプリがあります。ローカルでは、開発マシン Python 2.7 とリモート開発サーバー Python 2.6.6 で実行しています。ファイルをダウンロードすると、Mac Finder とコマンド ラインの両方で開き、コンテンツを表示できます。ただし、Python 2.7 は、リモート開発サーバーで作成された .tar.gz ファイルを好みません...そして、これらのファイルを、Python を使用してアーカイブを解凍/解析するサイトにアップロードする必要があります。問題をデバッグするにはどうすればよいですか? Python シェルの場合:

this SO questionからgzip -t、リモートファイルに対しても実行しようとしましたが、出力はありませんでした (これは、ファイルが問題ないことを意味すると思います)。this other SO questionから、私は を実行しfile myTestFile_remote.tar.gzました。出力は正しいファイル形式を示していると思います:

他に何を試すことができるかよくわかりません。私の tarfile にself.offset == 0. 提案は大歓迎です...

ここでどのコードが役立つかわかりません。tarfile を作成して返すコード:

------ 更新 ------この SO 投稿tar -zxvf myTestFile_remote.tar.gzに従って、コマンド ラインから使用して、リモート ファイルが tar.gz ファイルであることも確認しました。ファイルは問題なく抽出されます。

0 投票する
0 に答える
103 参照

python - Python:圧縮ファイル内の特定の圧縮ファイルのバッファオブジェクトをロードするにはどうすればよいですか?

その中に特定の .gz ファイルのリストを含む tar.bz2 があります。tar.bz2 内の .gz ファイルを検索して見つけた後、それらの特定の .gz ファイルをバッファーにロードしたいと考えています。次に、ロードされた .gz ファイルを解凍します。最後に、解凍した .gz ファイルを .mat ファイルとして読み込みます。外部ファイルを生成せずにこれを行いたいと思います。

注: .gz 圧縮ファイルは単一の .mat ファイルであり、圧縮ファイルの詳細なリストではありません。

圧縮アーキテクチャを説明するには: big_file.tar.bz2 -> cat.gz, dog.gz, hello.gz, hello1.gz hello.gz -> hello (単一の .mat ファイル)

tar.bz2 内の一致するファイル名は、「hello.gz」、「hello1.gz」などのラベルが付いたファイルと同様に「hello」です。

私の現在の問題は、tar_bz2.extractfile() の後でバッファ形式を正しく取得できないことです。

スニペットからのエラーは、ファイルの問題の終わりへのシークとして loadmat() にありますが、私の問題の原因は tar_bz2.extractfile() の後に始まると確信しています。

これが私がこれまでに持っているものです:

0 投票する
2 に答える
8322 参照

python - python tarfileモジュールを使用してtarファイルにファイルを追加するには?

tar ファイルにファイルを追加したい。たとえば、 のファイルtest.tar.gza.png, b.png, c.png. という名前の新しいpngファイルがあり、に追加して古いファイルをカバーa.pngしたい. 私のコード:a.pngtest.tar.gza.pngtest.tar.gz

その後、すべてのファイルがtest.tar.gz消えましたがa.png、コードを次のように変更すると:

プログラムがクラッシュしました。エラー ログ:

私の間違いは何ですか?

更新します。ドキュメントから、gzファイルをモードで開くことができないことがわかりaます。もしそうなら、既存のアーカイブにファイルを追加または更新する最良の方法は何ですか?