如何防止导入的模块被访问(即堵塞我的代码完成选项)?
例如:
# testmodule.py
import os
def o_stuff():
return
当我导入时testmodule
,我不想os
每次我打字时都会出现testmodule.
;我只想要在 testmodule 中声明的函数/类 - 在这种情况下,只需o_stuff
.
是否有类似于星号的东西(即from testmodule import *
)那会这样做吗?
您可以定义一个特殊变量__all__
包含要导入的名称列表from module import *
- 例如:
# testmodule.py
import os
__all__ = ['o_stuff', 'more_stuff']
def o_stuff():
pass
def more_stuff():
pass
具有代码完成功能的 IDE 通常也会尊重__all__
(虽然我不熟悉Visual Studio,所以我不知道IntelliSense是否这样做)。
出于完整性考虑,将另一种方法包含在此处,尽管我会强烈推荐反对它(因为它会惹恼任何阅读你的代码而分心的人)是将模块作为下划线前缀的别名导入:
# ugly_as_sin.py
import os as _os
def o_stuff():
return _os.name
再说一遍,两者from module import *
通常,代码完成将忽略以下划线前缀的名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)