python通過配置檔案共享全域性變數
阿新 • • 發佈:2019-02-07
在使用Python編寫的應用的過程中,有時會遇到多個檔案之間傳遞同一個全域性變數的情況,此時通過配置檔案定義全域性變數是一個比較好的選擇。
首先配置config.py模組,config需要設定get_xxx和set_xxx的方法提供對外的介面。
config.py
class global_var:
'''需要定義全域性變數的放在這裡,最好定義一個初始值'''
name = 'my_name'
# 對於每個全域性變數,都需要定義get_value和set_value介面
def set_name(name):
global_var.name = name
def get_name():
return global_var.name
然後在其他模組引用:
test.py
import config
# 引用全域性變數
name = config.get_name()
# 修改全域性變數
config.set_name('new_name')
# 檢視修改後的全域性變數
print(config.get_name())
注意:
1. import配置檔案時,不要from xxx import *, 而要import config.py
2. 在config.py檔案中,用set_xxxValue()和get_xxxValue來提供外部訪問介面,這個好處是,可以讓全域性變數在每次呼叫的時候都能得到重新整理
3. 其他檔案使用get_xxxValue()獲取到全域性變數的最新值
另外,對於global這個宣告,他只是在同一個檔案中有效,並不能跨檔案,就是誇module.所以不要妄想通過global來控制不同檔案間的共享變數。