在导入模块时隐藏外部模块(例如关于代码完成) [英] Hide external modules when importing a module (e.g. regarding code-completion)
本文介绍了在导入模块时隐藏外部模块(例如关于代码完成)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在一个包中有几个模块(一种工具包),我在项目中使用它。结构如下:
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中使用制表符完成时。
这篇关于在导入模块时隐藏外部模块(例如关于代码完成)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文