isbn-hyphenate 利用ノート

本稿は Python パッケージ isbn-hyphenate について記す。

Note

  • OS
    • Windows 7 Home Premium x64 SP1
    • Windows 10 Home x64
  • 本稿において、利用した各パッケージのバージョンは次のとおり。

isbn-hyphenate とは何か

isbn-hyphenate は ISBN の数字列に適切にハイフンを配置するための Python パッケージだ。

私は読書ノートを記すときには、可能な限り対象書籍の ISBN を書き添えることにしている。そして数字だけからなるその文字列に、ハイフンを完璧に配置しておきたい。しかし、書籍に印刷されている ISBN とインターネットで検索して得られたそれとの表記が一致しない場合がある。少々調べると、ISBN のハイフンの付け方は機械的に定まるものではないらしい。細かいことはわからぬが、書籍に関係する国や版元などの要因によって、数字の区切り方が異なってくるようだ。少なくとも手動で行うのに不適な作業と判断した。

そこで我らが Python でこの問題を解決できないかと調べたところ、このパッケージを発見した次第だ。以下、isbn-hyphenate についてインストール方法および利用方法を記す。

インストール

他のパッケージと同様、pip を用いるのが最短であろう。

$ pip install isbn-hyphenate

または GitHub のレポジトリーを clone して、そこで pip install -e . してもよいだろう。

単体テスト

パッケージがインストールされたディレクトリーに test というサブディレクトリーがある。ここのスクリプト isbn_hyphenate_test.py がテストドライバーのようだ。インストールが成功したのかを確認するのには、これを単に実行し、その結果を評価すればよいだろう。

$ cd D:/Python34/Lib/site-packages/isbn_hyphenate/test
$ python34 isbn_hyphenate_test.py
.............
----------------------------------------------------------------------
Ran 13 tests in 0.006s

OK

コード

パッケージ isbn-hyphenate は基本的にはただ一つの関数を提供する。ユーザーの負担がべらぼうに小さくて済むのでありがたい。利用手順は次のようになる。

  1. 何はなくとも from isbn_hyphenate import hyphenate として、関数をインポートする。
  2. ISBN らしき文字列を関数 hyphenate に渡して戻り値を得る。

これだけだ。二冊のある本について例を示す。ハイフンの入り方が異なることがわかる。

>>> from isbn_hyphenate import hyphenate
>>> hyphenate('978-4001140088')
'978-4-00-114008-8'
>>> hyphenate('978-4-87311-364-7')
'978-4-87311-364-7'

Todo

isbn_xml2py.py をユーザーが起動することがあるのか。