我已經問過這個問題,但它並沒有很好地闡述。在兩個wxpython標籤之間共享變量
persistence of objects in python
作爲一個新手到兩個Python和GUI編程
我有一個大的項目,該項目包含了一些Python文件。文件a.py定義了一個名爲fobject的類我正在使用python 2.5
文件b.py和c.py有一個名爲BProject和CProject的類,它們有一個fobject對象作爲參數。這些是基於wx python的程序中的頁面。
我已經包含在b.py中使用導入CProject(在c.py中定義)。我在CProject中使用wx python GUI填充了一個列表。接下來我調用在BProject中定義的函數BRun,它在內部調用CProject中的CRun函數,即。在c.py中。
在這個CRun中,我想操作列表,但列表總是空的。這是爲什麼?
我應該怎麼做給定的約束是我不能改變任何a.py中定義的fobject?
文件:c.py
def Instance(fObject):
return test_page_CProject(fObject)
class CProject(object):
def __init__(self, fObject):
self.fObj = fObject
self.IntList = []
##snip
def OnIntSelectBtnPress(self,parent):
print ":self.IntList"
print self.IntList
self.listBoxIntSelect.InsertItems(self.IntList,0)
print self.IntList
def OnIntRun(self):
IntLModeList = self.IntListIntMode
#snip
文件b.py
def Instance(fObject):
return BProject(fObject)
class BProject(object):
def __init__(self, fObject):
self.FObj = fObject
#snip
Object = __import__('CProject')
#snip
self.intObject = Object.Instance(self.FObj)
self.intObject.OnIntRun()
當CPython.OnIntRun被稱爲self.IntList是空的,當它should'nt是
我相信創建一個網絡服務器將是對這個應用程序的殺死。即使沒有網絡訪問,也需要在多臺PC上單獨安裝該應用程序,並且還要在客戶端執行我們的硬件。此應用程序與我們的主板進行交互。 –
您可以使用Python的套接字模塊SimpleHTTPServer或SimpleXMLRPCServer在內存中創建服務器。我不是在說加載Apache或類似的東西。 –
+1用於提示Pubsub – volting