1
我正在使用python 2.6,我看到dir()
函數有點奇怪的行爲。我試圖從單元測試的目錄/包中導入所有模塊,但是當我在文件夾上執行dir()
時,我沒有得到全部該目錄中的模塊。Python dir()不顯示包中的所有模塊
樣品目錄結構:
|-mod_dir\
|---__init__.py
|---modA.py
|---modB.py
|---modC.py
|
|-mod_tests\
|---__init__.py
|---test.py
樣品test.py:
import mod_dir
for obj in dir(mod_dir):
print obj
不幸的是,在這一點上我只得到這樣的:
modA
__all__
__builtins__
__doc__
__file__
__name__
__package__
__path__
任何關於w的想法其他人不在這裏出現?我不認爲這很重要,但mod_dir中的__init__.py
文件是空的。我試過設置__all__
變量,但它沒有效果。但是,如果它確實很重要,我將在Eclipse中使用pydev在Eclipse中使用它。
語境:
下mod_dir每個模塊中有一個單元測試,我試圖將它們納入test.py.內的單元測試套件我知道鼻子和其他方法,如this之一,但我更感興趣的是爲什麼dir沒有顯示所有的東西。
我明白了。我想我會嘗試一種不同的方法。實際上,我從單元測試中得到了這個想法。在其中一個函數loadTestFromModule中,它們做類似的事情,只有它們在模塊本身上執行dir(),而不是軟件包目錄。 –