在使用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())
文件3:get.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())
文件4:main.py
#!/usr/bin/env python2.7
import set
import get
set.set()
get.get()
其中globalvar.py中定義了兩個全局變量,在set.py中的set函數中對其進行賦值,在get.py文件中的get函數取值並打印。main.py函數作爲應用入口,調用set和get。
這樣就可以看到一個完整的應用中,全局變量的跨文件使用。