Python實現跨文件全局變量的方法


  Python 中 global 關鍵字可以定義一個變量為全局變量,但是這個僅限於在一個模塊(py文件)中調用全局變量,在另外一個py文件 再次使用 global x 也是無法訪問到的,因為在這個py模塊中並沒有一個叫做x的變量,於是就會報錯 未定義。

  借鑒global 關鍵字的思路,既然在一個文件里面可以生效的話,那么我們就專門為全局變量定義一個“全局變量管理模塊”就好了

全局變量管理模塊 globalvar.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

def _init():
    global _global_dict
    _global_dict = {}

def set_value(name, value):
    _global_dict[name] = value

def get_value(name, defValue=None):
    try:
        return _global_dict[name]
    except KeyError:
        return defValue

設置全局變量  a.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import globalvar as gl

gl._init()

gl.set_value('name', 'cc')
gl.set_value('score', 90)

獲取全局變量  b.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import globalvar as gl

name = gl.get_value('name')
score = gl.get_value('score')

print("%s: %s" % (name, score))

主程序  main.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import a
import b

然后運行主程序文件   python main.py,得出的結果是  cc: 90

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM