pyUnRAR2ライブラリは、RAR アーカイブからメモリ (および必要に応じてディスク) にファイルを抽出できます。これは MIT ライセンスの下で利用でき、Windows では UnRAR.dll をラップし、Unix では unrar をラップするだけです。使用例は「QuickTutorial」をクリック。
Windows では、RARSetCallback() を使用してコールバックを設定し、RAR_EXTRACT オプションの代わりに RAR_TEST オプションを指定して RARProcessFile() を呼び出すことにより、(含まれている) UnRAR.dll を使用して (ディスクではなく) メモリに抽出できます。ファイルをディスクに。その後、コールバックは UCM_PROCESSDATA イベントを監視してデータを読み取ります。UCM_PROCESSDATA イベントのドキュメントから: 「解凍されたデータを処理します。実際にファイルをディスクに抽出することなく、抽出またはテスト中にファイルを読み取るために使用される場合があります。」
Unix では、unrar は単純にファイルを stdout に出力できるため、ライブラリは unrar の stdout に接続されたパイプから読み取るだけです。必要な unrar バイナリは、"Print file to stdout" コマンドの "p" を持つものです。「apt-get install unrar」を使用して、Ubuntu にインストールします。