Understand 3.0 では、過去に2度ご紹介している Understand API に Python API が追加されました。
過去の記事2件は、以下よりご覧ください。
Understand API を簡単に説明すると、Understand が解析したデータベース(UDBファイル)から、任意の情報を抽出するための仕組みです。
今回は、Python API を用いてUDBファイルから情報を抽出する方法をご紹介します。
下準備
- Python 3.x 系のインストール
- 環境変数「PATH」にUnderstandライブラリへのパスを追加
- Windowsの場合:以下を環境変数に設定します。PATHがすでに存在する場合には追記します。
変数名:PATH
変数値:%Understandインストールフォルダ%\bin\{pc-win32 または pc-win64} - Linuxの場合:以下のコマンドで環境変数の設定を追記します。
export PATH=${Understandインストールディレクトリ}/scitools/bin/{linux32 または linux64}:$PATH
- Windowsの場合:以下を環境変数に設定します。PATHがすでに存在する場合には追記します。
- 環境変数「PYTHONPATH」の追加
- Windowsの場合:以下を環境変数に設定します。
変数名:PYTHONPATH
変数値:%Understandインストールフォルダ%\bin\{pc-win32 または pc-win64}\python - Linuxの場合:以下のコマンドで環境変数を設定します。
export PYTHONPATH=${Understandインストールディレクトリ}/scitools/bin/{linux32 または linux64}/python:$PYTHONPATH
- Windowsの場合:以下を環境変数に設定します。
実行例
サンプルスクリプトは「%Understandインストールフォルダ%\scripts\python」に格納されています。
以下は、プロジェクトのファイル一覧を出力するスクリプト「3_fileList.py」の実行例です。
> python 3_fileList.py fastgrep.udb regerror.c stdio.h regexp.h egrep.c ctype.h types.h stat.h regmagic.h regexp.c regsub.c strpbrk.c string.h timer.c timer.t.h try.c |
上記のサンプルスクリプト以外にも多数のスクリプトが用意されています。
ぜひ、お試しください。
注意点
- Python 2.x 系はサポートしていません
- Python のbit数(32/64bit)と Understand モジュールのbit数(32/64bit)を合わせて利用する必要があります