4

Pythonに、さまざまなアーカイブを抽出できるモジュールはありますか? ziptar.bz2tar.zrarなどを抽出する必要があります。現在、アーカイブ タイプの検出を手動で行う必要があり、また、すべてのアーカイブの抽出を作成する必要があるようです。

純粋なPythonが推奨されます。

4

4 に答える 4

2

パツールをチェックしてください。それがどれほどうまく機能するかは証明できませんが、いくつかのフォーマットでは外部アプリケーションに依存していますが、それに基づいた他のモジュールがいくつかあります。

patool は、7z (.7z)、ACE (.ace)、ADF (.adf)、ALZIP (.alz)、APE (.ape)、AR (.a)、ARC (.arc)、ARJ (.arj)、 BZIP2 (.bz2)、CAB (.cab)、COMPRESS (.Z)、CPIO (.cpio)、DEB (.deb)、DMS (.dms)、FLAC (.flac)、GZIP (.gz)、LRZIP ( .lrz)、LZH (.lha、.lzh)、LZIP (.lz)、LZMA (.lzma)、LZOP (.lzo)、RPM (.rpm)、RAR (.rar)、RZIP (.rz)、SHN (.shn)、TAR (.tar)、XZ (.xz)、ZIP (.zip、.jar)、および ZOO (.zoo) 形式。これらのアーカイブ形式を処理するヘルパー アプリケーションに依存しています (たとえば、BZIP2 アーカイブの bzip2)。

于 2013-04-16T05:31:57.620 に答える
1

3.2 以降、アーカイブ機能shutil追加されているようですが、これまでのところ gziptar、bztar、tar、および zip のみがサポートされています。

独自のハンドラーを追加できますshutil.register_archive_format()-この方法では、拡張機能を手動で検出する必要はありません...ただし、抽出を自分で定義する必要があります。

于 2013-10-28T16:54:55.067 に答える
1

標準ライブラリには、圧縮されたアーカイブを操作するためのモジュールzlibgzipbz2zipfileおよびが既にあります。tarfile

rar アーカイブの場合、zipfile と同様のインターフェイスを持ち、python 2 および 3 で動作するpypi の rarfile モジュールがあります。

于 2013-04-16T05:32:32.330 に答える