我有一個叫做元素的包,它包含一些像按鈕,三推子,海報等東西。在Button類中,我正在做from elements import *
Python:導入*僅從包中導入某些東西?
這會執行OK,並且當我嘗試print(poster)
時,也可以正常工作,並按預期工作。但是,當我做print(trifader)
,NameError: name 'trifader' is not defined
。儘管trifader和海報是在同一個包中,海報是定義的,但trifader不是?多麼奇怪。這有什麼解釋嗎?
元素包的目錄結構是這樣的:
Elements:
__init__.py
trifader.py
button.py
poster.py
此外,一些其他的東西,是不是真的有關。
每個.py文件都包含一個名爲.py的類,例如trifader.py有一個名爲TriFader的類。
也許'__all__'被使用? http://stackoverflow.com/questions/44834/can-someone-explain-all-in-python –
是'trifader'類,.py文件還是包?請爲您的目錄結構提供所有'.py'文件的位置以及每個文件中定義的類名稱。沒有這些信息就很難說出任何有意義的東西。 – jozzas
@jozzas已添加。另外,CodePainter,我沒有使用它。 –