---
(Windowの場合)
windll.UNLHA32.Unlha(0, r'x -r1 -n "%s\\%s" "%s\\" *.*' % (path, fname, path), None, 0)
---
こういうやり方でできるものがあった。
もっとシンプルやりたかったので別の探してみたら見つけた。
前提条件:
・VC++が入っている事。
basetsd.hが無いとエラーが出たらKoderよりヘッダソースをコピーしてくる。
http://www.koders.com/c/fid4BF9F859DE62B18F2A3C47B66D776CDDE9D75AF4.aspx
1.インストール
easy_install、pipのパスが通ってない場合はフォルダ移動して(例:d:\traclight\python\scripts)
% easy_install http://svn.neotitans.net/lhafile/
% pip install http://svn.neotitans.net/lhafile/
実行。
コンパイル成功して
python\Lib\lzhlib.pyd
が入っていたらインストール完了。
2.使い方
import lhafile # Create Lhafile instance from filename f = lhafile.Lhafile('foo.lzh') # Print each file informaion in archive file. for info in f.infolist(): print info # Extract data from archive f.read('bar.txt')
追記:
2011.05.27
作者the-o様に修正していただきました!
thank you:)
参考URL
http://trac.neotitans.net/wiki/lhafile
4 件のコメント:
lhafileを作成しているものです(^^;。
こちらのサイトをみて、改めてテストして3つ問題を修正しました。
もしよろしければ確認していただけたりするでしょうか。もしくはバグの再現方法を教えていただけたりしないでしょうか。
# そんなに使われるモジュールではないですが、折角なので直しておきたく。
レスありがとうございます。
作者の方でしたか(・ω・;
メモ程度の記事ですみませんです。
自分にはとても需要があるものなので、
さっそく試させていただきます。
うーむ、圧縮ファイルの構成が
・フォルダ1つ、フォルダ内に4つのファイル
最初の階層がフォルダで圧縮されているもので試してみたら、エラーするみたいです。
まだ1つのファイルしかチェックしてないので、もう少し様子みてみます。
確認が遅れてすみません。いろいろなアーカイバで試してみたのですが再現させることが出来ませんでした。。。参考URLの所に解凍するサンプルコードを追加してみたので、よければお試しください。
もしくは、setup.py にメアドが記載されているのでアーカイブを送付いただけると助かります。
コメントを投稿