Python dir()不显示包中的所有模块
我正在使用Python2.6,我看到Python dir()不显示包中的所有模块,python,unit-testing,module,dir,Python,Unit Testing,Module,Dir,我正在使用Python2.6,我看到dir()函数有一些奇怪的行为。我正试图从unittest的目录/包中导入所有模块,但当我在文件夹上执行dir()操作时,无法获取该目录中的所有模块 目录结构示例: |-mod_dir\ |---__init__.py |---modA.py |---modB.py |---modC.py | |-mod_tests\ |---__init__.py |---test.py import mod_dir for obj in dir(mod_dir):
dir()
函数有一些奇怪的行为。我正试图从unittest的目录/包中导入所有模块,但当我在文件夹上执行dir()
操作时,无法获取该目录中的所有模块
目录结构示例:
|-mod_dir\
|---__init__.py
|---modA.py
|---modB.py
|---modC.py
|
|-mod_tests\
|---__init__.py
|---test.py
import mod_dir
for obj in dir(mod_dir):
print obj
样本测试。py:
|-mod_dir\
|---__init__.py
|---modA.py
|---modB.py
|---modC.py
|
|-mod_tests\
|---__init__.py
|---test.py
import mod_dir
for obj in dir(mod_dir):
print obj
不幸的是,在这一点上,我只得到如下结果:
modA
__all__
__builtins__
__doc__
__file__
__name__
__package__
__path__
你知道为什么其他人没有出现在这里吗?我认为这不重要,但是mod_dir中的\uuu init\uuuuuuuuuupy
文件是空的。我试着设置\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
变量,但没有效果。不过,如果这有关系的话,我将在WinXp中与eclipse中的pydev一起使用它
上下文:
|-mod_dir\
|---__init__.py
|---modA.py
|---modB.py
|---modC.py
|
|-mod_tests\
|---__init__.py
|---test.py
import mod_dir
for obj in dir(mod_dir):
print obj
mod_dir下的每个模块都有一个单元测试,我正试图将它们包含在test.py中的单元测试套件中。我知道nose和其他类似的方法,但我更感兴趣的是为什么dir没有显示所有内容。我相信
\uuu init\uuuuuuuuuuy.py
文件为空确实很重要
在\uuuu init\uuuuu.py
中尝试以下操作:
import modA
import modB
import modC
从python文档中,(请参见
dir
部分底部的注释)。它不够严格,主要用于交互式提示。我明白了。我想我会尝试另一种方法。实际上,我是从单元测试中得到这个想法的。在其中一个函数loadTestFromModule中,它们执行类似的操作,只是在模块本身上执行dir(),而不是包目录。