PythonでFirebirdを使う

PythonでFirebirdを使う。

インストール

  1. PythonのFirebirdライブラリ KInterbasDB をダウンロードする。
    Pythonはバージョン2.5、Firebirdは1.5.3なので、kinterbasdb-3.2.win32-FB-1.5-py2.5.exeをダウンロードしました。

  2. ダウンロードしたファイルを実行して、インストールする。

以上でインストールは完了。

Firebirdの接続と切断

import kinterbasdb
kinterbasdb.init(type_conv=200)
#データベースに接続する
con = kinterbasdb.connect(dsn='localhost:C:/path/to/file.FDB',
                          user='sysdba',
                          password='masterkey',
                          charset="SJIS_0208")
#切断する
con.close()

SELECT文

cur = con.cursor()
cur.execute("select * from ADDRESS")
for row in cur:
  print "postcode = %s, address = %s" % (row[0], row[1])

INSERT文

values = [('690-0001', '島根県松江市東朝日町'),
          ('690-0002', '島根県松江市大正町')]
cur = con.cursor()
cur.executemany("insert into ADDRESS values(?, ?)", values)
con.commit()

DELETE文

cur = con.cursor()
cur.execute("delete from ADDRESS")
con.commit()

Base64のエンコード

base64モジュールを使うと、Base64のエンコードができます。

#!python

import base64
#エンコードするファイル
input = open('input.txt')
#エンコードした内容を保存するファイル
output = open('b64.txt', 'w')
#エンコードする
for str in input.readlines():
    str = base64.b64encode(str)
    output.write(str)

quoted-printableのエンコード

quopriモジュールを使うと、quoted-printableのエンコードができます。

#!python

import quopri

#エンコードするファイル
input = open('input.txt')
#エンコードした内容を保存するファイル
output = open('output.txt', 'w')
#空白文字やタブを変換するかどうか制御するフラグ
quotetabs = True
#エンコードする
quopri.encode(input, output, quotetabs)

PyInstaller: Python のスクリプトを Windows 用の実行ファイル (exe形式) に変換する

[いやな日記][1] を参考に [py2exe][2] を使ってみると、hello.py を exe にしただけで distディレクトリのサイズは 2.04MB になった。
[いやな日記][1] では 1.2MB と書かれている。なんでだろ?

Python スクリプトを Windows 用の実行ファイルに変換するソフトには [py2exe][2] の他に [PyInstaller][3] というのがあるらしい。
早速試してみた。

[PyInstaller][3] のページから PyInstaller 1.0 をダウンロードしてを展開する。

cd pyinstaller_1.0
python Configure.py

hello.py を作成する

print “hello, world”

実行ファイルを作成する

python Makespec.py hello.py
python Build.py ./hello/hello.spec

disthelloディレクトリのサイズは 1.41MB。

[1]: http://namazu.org/~satoru/diary/20040718.html
[2]: http://www.py2exe.org/
[3]: http://pyinstaller.hpcf.upr.edu/cgi-bin/trac.cgi/wiki

メモ

Pythonで、MarkdownのファイルをHTMLに変換するプログラムを作成する予定。

* [py-mode for xyzzy](http://oldriver.org/python/py-mode.html)

xyzzy で Python のソースコードを書くのを支援する Lisp マクロ。

* [xyzzyでpythonプログラムを打ち込む](http://www.geocities.co.jp/Technopolis-Mars/8229/lang/python/xyzzy-python.html)

xyzzy で Python プログラミングを行うときに便利な List マクロなど。

* [xyzzy から pydoc を利用する](http://www.geocities.jp/shido_takafumi/py/python3.html)

xyzzy を用いた編集作業中に Ctrl+h をタイプすると pydoc を立ち上げる。

* [Markdown in Python](http://www.freewisdom.org/projects/python-markdown/)

Markdown形式で記述されたテキストをHTMLに変換するPythonライブラリ

* [py2exe](http://starship.python.net/crew/theller/py2exe/)

Python スクリプトを Windows プログラムへ変換するソフトウェア

* [py2exe](http://www.cubelab.com/ymasuda/python/py2exe/py2exe.html)
* [PythonスクリプトをWindows実行形式(Exe)にする](http://www.xucker.jpn.org/pc/pythonexec.html)