在导入模块时隐藏外部模块(例如关于代码完成)
问题描述
我在一个包中有几个模块(一种工具包),我在项目中使用它。结构如下:
the_toolkit:
__init__.py
basic_io.py
simple_math.py
matrix_kit.py
...
现在,当我使用IPython
或VIM
中的代码完成时,使用
from the_toolkit import matrix_kit
我得到了一组matrix_kit.py
导入的模块/函数(array
、math
、log
、loggin
、format_exc
等)),以及matrix_kit
定义的实际函数。
由于我对math
或array
模块的代码完成不感兴趣,我如何筛选出其他所有内容?
许多蟒蛇建议__init__.py
是空的,还是这样做?
解决方案
我遇到了同样的问题,并通过在我的所有导入中添加前导下划线来解决它。它看起来不是很棒,但它实现了你想要的。
from __future__ import division as _division
import numpy as _np
import pandas as _pd
使用From导入模块时,仅导入以下划线开头的内容。导入*。或在IPython或Spyder中使用制表符完成时。
相关文章