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 中的文本:
      文件“dater.py”,第 25 行,在 page_generator
        对于 self.cats 中的项目:
      文件“/home/ceradon/api.py”,第 305 行,在列表中
        缩写 = type2abbr[list_type]
    密钥错误:500

任何人都可以帮我解决这个问题吗?

4

1 回答 1

5

您已经my_func将其实现为一种方法(即假设self),但您没有在任何对象上调用它。

要么你应该有一个对象,例如x.my_func(...),要么你应该self,从参数列表中删除。

于 2012-07-22T03:26:22.767 回答