IPython中奇怪的模块自动完成行为

时间:2013-06-08 10:05:26

标签: python ipython

enter image description here 明白了吗?首先,它仅显示RBabsolute_import作为选择。我仍然可以导入Gtk。之后,它显示了几个选项。仍然不是完整的模块列表。如果我导入了一些其他模块(我从文档中知道),那么它会出现在列表中。

(之前我发布了类似的问题,但我无法解释得太充分,所以我会再次发布更详细的信息)

1 个答案:

答案 0 :(得分:1)

自动填充尝试以确定您要求的可能值。 gi.repository可能在导入时定义了东西,因此在实际导入之前你无法完成任何事情。

就像你覆盖了对象的__getattr__方法一样,你可以让它响应任意数量的密钥而不能列出它们。

要知道你应该深入研究gi.repository的代码的确切原因(PyGI本身似乎已被弃用了3年,取而代之的是pygobject),快速阅读是一个完全自我构建的GObject的完全动态绑定在进口时通过检查Gobject。

所以我不会对这样的模块在制表完成时有奇怪的行为感到惊讶。