9

我已经构建了一个模块,它使用几个不同的模块来完成各种任务。当我在 IPython 中导入我的模块并列出自动完成的可用函数时,这些外部模块包含在该列表中。是否有可能以某种方式隐藏它们?

4

1 回答 1

10

在 Python 中,模块可以定义一个__all__变量,它是当有人这样做时应该导入的名称列表:

from module import *

IPython 可以使用相同的变量来限制完成,尽管它默认不这样做。要在运行时启用此功能,请设置:

get_ipython().Completer.limit_to__all__ = True

或永久设置它,添加到您的ipython_config.py

c.IPCompleter.limit_to__all__ = True
于 2013-11-03T19:25:28.323 回答