1

次のコードはエラーを返しますKeyError: 500

def my_func(self, limit, list_type, **args):
    type2abbr = {"allcategories": "ac", "categorymembers":"cm"}
    abbr = type2abbr[list_type]
    yield abbr
if __name__ == "__main__":
    abbr = my_func(500, "categorymembers")
    print abbr

出力:

    トレースバック (最新の呼び出しが最後):
      ファイル「dater.py」の 72 行目
        bot.start()
      ファイル「dater.py」、56行目、先頭
        タイトル、self.pages のテキスト:
      page_generator のファイル「dater.py」、25 行目
        self.cats の項目の場合:
      リストのファイル「/home/ceradon/api.py」、305行目
        abbr = type2abbr[list_type]
    キー エラー: 500

誰でもこれを理解するのを手伝ってもらえますか?

4

1 に答える 1

5

メソッドであるかのように実装my_funcしましたが (つまり、 を想定self)、どのオブジェクトでも呼び出していません。

などのオブジェクトを用意するか、引数リストからx.my_func(...)削除する必要があります。self,

于 2012-07-22T03:26:22.767 に答える