在使用Python編寫的應用程式的過程中,有時會遇到多個檔案之間傳遞同一個全域變數的情況。
檔案1:globalvar.py
#!/usr/bin/env python2.7 class GlobalVar: db_handle = None mq_client = None def set_db_handle(db): GlobalVar.db_handle = db def get_db_handle(): return GlobalVar.db_handle def set_mq_client(mq_cli): GlobalVar.mq_client = mq_cli def get_mq_client(): return GlobalVar.mq_client
檔案2:set.py
import globalvar as GlobalVar def set(): GlobalVar.set_mq_client(10) print "------set mq_client in set.py------mq_client: " + str(GlobalVar.get_mq_client())
檔案4:main.py
#!/usr/bin/env python2.7 import globalvar as GlobalVar def get(): print "------get mq_client in get.py------mq_client: " + str(GlobalVar.get_mq_client())
其中globalvar.py中定義了兩個全域變量,在set.py中的set函數中對其進行賦值,在get.py檔案中的get函數取值並列印。 main.py函數作為應用程式入口,呼叫set和get。
這樣就可以看到一個完整的應用中,全域變數的跨檔案使用。