使用这个简单的模块:
#!/usr/bin/python
#file: foo.py
import ctypes
class Foo(ctypes.Structure):
pass
在iPython中:
In [1]: import foo
In [2]: foo.
Foo
ctypes
ctypes
是模块foo
内部使用的模块,不应向用户显示。目标是隐藏ctypes
ipython
这个解决方案太麻烦了吗?
import ctypes as __ctypes
答案 0 :(得分:3)
我通常会使用__all__
。您的代码将变为:
import ctypes
# Note here
___all__ = []
class Foo(ctypes.Structure):
pass
# Note here
__all__ += ['Foo']
如果您执行from foo import *
,则只会看到Foo
(或您添加到__all__
的任何其他内容)。