Python模块的最佳实践

时间:2013-06-19 22:47:18

标签: python module coding-style

我们说我有一个简单的模块(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.osfoo.sys,这令人分心和烦恼,因为IMO不应该由模块foo导出。

我可以将del sys添加到foo.py的末尾,但这被认为是不好的做法吗?不幸的是,del os无法做到同样的事情。

2 个答案:

答案 0 :(得分:0)

如果它真的困扰你,import sys as _sys等等。

答案 1 :(得分:0)

这种方式很好。否则,您可能拥有依赖大量导入的长模块,而无法跟踪main函数中所需的所有导入。我真的没有看到foo.py导出sysos的任何问题。