投稿日:

cnvk – Python で全角・半角・ひらがな・カタカナ等を変換する


Python で半角・全角の変換やカタカナとひらがなの変換などを行う簡単なモジュールを作ったので貼っておきます。他にも似たライブラリがありますがその一つとして。もしお役に立ちそうに思われた方はご自由にお使いください。で、何か不具合があれば教えてください♪

特徴

  • unicodedata よりは色々細かく指定できます。
  • 追加の変換テーブルを指定するのも簡単です。
  • 変換しない文字を指定できます。
  • 変換方法は単純に replace です。正規表現ほか色々と試したんですが、たぶん早い方です。

ドキュメント

モジュール、関数に記載の doc を参照してください。

ダウンロード

https://github.com/yuka2py/cnvk

コード

 

投稿日:

ファイル内に子モジュールを作る


時々、子モジュールに収めたい機能があるけどファイルは一つにしたいとか、同じモジュールファイル内に子のモジュールを作りたい時があるので、やってみました。

関数からモジュールを作る(デコレータ利用)

モジュール定義用の関数の中で、最後に return locals() ってのがイケていないですが、色々考えても回避できませんでした。orz…

クラスからモジュールを作る(メタクラス利用)

Python 3 なら、クラスデコレータを使えるでしょうかね。

なお、特にクラス定義を使いたい理由がなければ、上の関数定義を利用する方が、モジュールコンテンツのコーディング上便利だと思います。

定義したモジュールのインポート

例えば上述の定義を hoge モジュールに書いている場合、次のような感じで通常のモジュールのように呼び出せるようになります。

どうでしょうか?