Ruby open-zip.rb
テキスト処理などにとっても便利に使っているRubyですが、Rubyにはopen-uri.rbというライブラリがあります。使い方はrequire 'open-uri'をしておくと、ファイルを開くopenという関数が拡張されて、ローカルにあるファイルと同様にネット上のリソース、例えば open('http://example.com/index.html').read なんてことができます。とっても便利です。
それに倣ってzipファイルの中にあるファイルをopenで取り出せるopen-zip.rbなんていうものをこさえてみました。open('test.zip/hogedir/hoge.txt').read なんてことができます。外部ライブラリとしてZip/Rubyに依存している関係で先にそのインストールが必要ですが、これでzipファイルをいちいち展開せずとも中のファイルにアクセスできるのはとても魅力的だと思います。あとちょっと込み入った使い方として、open('root.zip/sub.zip/hoge.txt').read なんていう多段なzip内zipファイルについても内部的に再帰呼び出しをすることでそのまま扱うことができます。
最後にですが、現時点では書き込み機能は実装されていません。必要が生じたらやってみようとも考えています。
コメント
>TeamKNOxさん
どうも。誤字なおしました。
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。
おつです。
面白いものを作りましたね。
Ruby は株ロボ作った時に使いましたが、リーマンショック以来さっぱりです。
再起→再帰
では
Posted by: TeamKNOx : March 21, 2010 06:21 PM