質問

これは、ファイル全体を解凍せずにLZMAファイル(.7zip)の内容を一覧表示することは可能ですか?また、私はLZMAファイルから1つのファイルを抽出することができますか?

私の問題:私は5TB>に解凍することを30ギガバイト.7zファイルを持っています。私は完全な解凍を行うためになくても、元の.7zファイルを操作したいと思います。

役に立ちましたか?

解決

はい。 XZ Utilsのにして起動します。 PerlやPython APIがあります。

あなたは、ヘッダーから必要なファイルを見つけることができます。あなたが欲しいだけのものを抽出することができますので、各ファイルは、個別に圧縮されます。

他のヒント

LZMA SDKからダウンロードlzma922.tar.bz2は、ファイルを抽出し、C / Utilの/ 7Z / 7zMain.cを開き、SourceForgeのページをファイル。そこには、.7zアーカイブから特定のアーカイブファイルを抽出するルーチンを見つけるでしょう。あなたは、あなたがに興味を持っているだけのものを抽出する方法のコード例が示すように、すべてのエントリからすべてのデータを抽出する必要はありません。この同じコードは、すべての圧縮データを抽出することなくエントリを一覧表示するためのロジックを持っています。

私は7zipををインストールすることによってこの問題を解決し( https://www.7-zip.org/)、パラメータLを用いて。たとえばます:

7z l file.7z

は、出力は、いくつかの記述情報や圧縮ファイル内のファイルのリストを持っています。その後、私は、サブプロセスのライブラリを使用して、この内部のpythonを呼び出します:

import subprocess
output = subprocess.Popen(["7z","l", "file.7z"], stdout=subprocess.PIPE)
output = output.stdout.read().decode("utf-8")
あなたのPATH変数にアクセスすることが7zの確認プログラムを作成することを忘れないでください。私は、手動でWindowsでこれをしなければならなかった。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top