open関数をモジュールに作るとき

#spam.py
def open(filename):
    data = open(filename, "rb").read()#ファイルの中身を読み込む
    #ほげほげ
    return egg

などとすると、エラーになる。
spam.py内で定義したopen が組み込みのopen を上書きしてしまうから

import __builtin__
def open(filename):
    data = __builtin__.open(filename, "rb").read()#ファイルの中身を読み込む
    #ほげほげ
    return egg

__builtin__モジュールから呼び出す。



ちなみに、__builtin__
過去分詞なのでした。