我是一名python新手,並使用CherryPy Web Server和Jinja 2模板引擎開發我的第一個python應用程序。在python中如何從父模塊或頂級模塊訪問父類或頂級模塊的實例使用子模塊
我使用Velleman K8055 USB實驗板,它有一個我正在導入的python模塊。
爲了使K8055正常工作,我必須在K8055模塊內創建一個類的實例,然後打開與主板的連接......據我所知,我必須保持連接/實例運行,並使用該唯一的實例來控制電路板,即使是在子模塊內也是如此。
我有一個很難搞清楚如何從我的子模塊/包內訪問K8055先前初始化實例...
我有非常類似以下內容的應用程序結構.. 。
SmartyPi/
SmartyPi/smartypi.py
SmartyPi/smartypi/__init__.py
SmartyPi/smartypi/scheduler/
SmartyPi/smartypi/scheduler/__init__.py
SmartyPi/smartypi/scheduler/Scheduler.py
SmartyPi/smartypi/web/
SmartyPi/smartypi/web/__init__.py
SmartyPi/smartypi/web/k8055.py
SmartyPi/smartypi/web/root.py
SmartyPi/smartypi/web/schedule.py
在「SmartyPi/smartypi.py」我已經初始化我的k8055對象的實例有:
from pyk8055 import k8055
k = k8055(0)
我希望能夠訪問相同的從喜歡的地方「K」的立場:
SmartyPi/smartypi/web/k8055.py
SmartyPi/smartypi/web/schedule.py
我似乎無法弄清楚我自己......
是「SmartyPi/smartypi.py」不創造最好的地方我K8055實例?
我應該把它放在別的什麼地方,我該如何讓這項工作按照我的需要進行?
爲什麼不在'smartypi.py'中創建'k8055'實例,然後'k8055.py'和'schedule.py'包含除'k8055'實例之外的函數,所以您可以通過' k'這些功能? – 2013-05-03 02:02:18
傳遞'k'實例作爲參數有點棘手,因爲'http:// localhost/k8055'或'http:/ http:// localhost/k8055'是從CherryPy內部調用'k8055.py'和'schedule.py'/localhost/schedule'由用戶創建。有沒有一種方法可以在我的應用程序中「導入」一個包含/使這些實例可用的公共模塊? – flexage 2013-05-03 02:10:48