15.7.1 例

以下の例では、ユーザのホームディレクトリにある .pyhist という 名前のヒストリファイルを自動的に読み書きするために、readline モジュールによるヒストリの読み書き関数をどのように使うかを例示しています。 以下のソースコードは通常、対話セッションの中で PYTHONSTARTUP ファイルから読み込まれ自動的に実行されることになります。

import os
histfile = os.path.join(os.environ["HOME"], ".pyhist")
try:
    readline.read_history_file(histfile)
except IOError:
    pass
import atexit
atexit.register(readline.write_history_file, histfile)
del os, histfile

次の例では code.InteractiveConsole クラスを拡張し、ヒストリの保 存・復旧をサポートします。

import code
import readline
import atexit
import os

class HistoryConsole(code.InteractiveConsole):
    def __init__(self, locals=None, filename="<console>",
                 histfile=os.path.expanduser("~/.console-history")):
        code.InteractiveConsole.__init__(self)
        self.init_history(histfile)

    def init_history(self, histfile):
        readline.parse_and_bind("tab: complete")
        if hasattr(readline, "read_history_file"):
            try:
                readline.read_history_file(histfile)
            except IOError:
                pass
            atexit.register(self.save_history, histfile)

    def save_history(self, histfile):
        readline.write_history_file(histfile)
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。