主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PythonのサードパーティライブラリをIronPythonで使おうとしてみる

                
 PythonのサードパーティライブラリがIronPythonで使えるのか。参考資料があまりに少ないので、やりたいことを通して試してみた。

 IronPythonで、wmaやmp3などのメディアファイルのタグから曲名などを抜き出したかった。メディアファイルからのタグ抜出はすでにPythonのサードパーティライブラリが出回っている。以前mutagenというライブラリを使ってタグを編集した記事を書いた。そのときmutagenは問題なく使えたが、mutagen自体の開発は数年止まっている。規格というのは数年すれば変更がされているもので、新しいライブラリがあればそっちのほうがいいだろうと探したところ、hsaudiotagというのがあった。ライブラリはPure PythonコードのようなのでIronPythonに入れようとしてみた。

 Pythonでライブラリを追加するときはたいてい、"Lib\site-package"にeggとして入っている。eggはzipと変わりない。eggファイルをzipとして解凍して、Pythonスクリプトがまとまったフォルダを探す。IronPython\site-packageにスクリプトがまとまったフォルダを放り込み、site-package直下にテキストファイルを置く。テキストファイルの内容はモジュール名で、ファイル名は"モジュール名.pth"にする。あとはモジュールのPythonインタープリタを開いて動作をチェックするだけ。

 でhsaudiotagモジュールがどうだったかというと、モジュールのインポート時にまず文字コード問題が出てきた。これはライブラリのスクリプトファイルの先頭に文字コードを明記することで回避できた。モジュールをインポートした状態でauto.Fileプロパティを使って.wamや.mp3のタグ情報を抜き出そうとしたが、TypeErrorが出てきた。Python環境ではなにも問題なく動いたのだが。とりあえずコードを数行いじって回避できるものでなかったので後回し。mutagenモジュールを試してみよう。

 mutagenもPure Pythonだ。hsaudiotagと同様のすごく簡易的で適当なライブラリ移植の手順を踏んで、mutagenをIronPythonでインポートしてみた。コードの改変を数行するだけで、wmaはASFで、mp3はeasyid3でタグ情報を抜き出すことができた。
            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。