我们说我有一个简单的模块(foo.py
),如下所示:
import os
import sys
THIS_IS_A_CONSTANT = sys.path
def this_is_a_function():
print os.name()
现在,假设我import foo
。我现在有以下内容:
>>> dir(foo)
['THIS_IS_A_CONSTANT', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'os', 'sys', 'this_is_a_function']
对我而言,我可以访问foo.os
和foo.sys
,这令人分心和烦恼,因为IMO不应该由模块foo
导出。
我可以将del sys
添加到foo.py
的末尾,但这被认为是不好的做法吗?不幸的是,del os
无法做到同样的事情。
答案 0 :(得分:0)
如果它真的困扰你,import sys as _sys
等等。
答案 1 :(得分:0)
这种方式很好。否则,您可能拥有依赖大量导入的长模块,而无法跟踪main函数中所需的所有导入。我真的没有看到foo.py导出sys
和os
的任何问题。