這方法也是官方檔案中faq中給出的方法。
在單個程式中跨模組共享資訊的規範方法是建立乙個特殊模組(通常稱為config或cfg)。 只需在應用程式的所有模組中匯入配置模組;config.py:然後該模組可用作全域性名稱。 因為每個模組只有乙個例項,所以對模組物件所做的任何更改都會反映在任何地方。 例如:
x = 0
mod.py:
import config
config.x = 1
main.py:
import config
import mod
print config.x
這種方法應該也是被大家所使用最多的一種方法。
這裡一定要注意要用潛拷貝,不能直接import *這種,要保持同樣的空間名稱。
這種方法也是首先定義乙個檔案
setting.py
def init():
global x
x = 0
然後,在子檔案中import globals
subfile.py
import setting
def stuff():
setting.x = 1
子檔案中無需呼叫init(),呼叫是main檔案的事:
main.py
import setting
import subfile
setting.init()
subfile.stuff()
print(setting.x)
這種方法,可以避免initialize全域性變數多次。
python3中事builtins,而python2中是__builtins__
這種方法,官方也並不推薦。╮(╯▽╰)╭
如果你在builtins模組中新增了變數,那麼,所有其他的模組有該方法的都會產生這個變數值,基本上所有模組都含有這個函式。
main.py:
import builtins
builtins.x = 1
import subfile
subfile.py
print(x)
這樣也可以不用import,在所有其他的檔案中就會都含有這個變數。 python多模組檔案共享變數
有多個檔案,在任意乙個檔案中修改,在其他檔案中訪問的都是修改之後的值 1 用乙個檔案儲存變數 這個思路沒問題,但在乙個檔案中修改後,在另乙個檔案中訪問時還是原來的內容。定義檔案a.py x 0b.py import a a.x 10 執行該檔案c.py import a print a.x 執行結果...
python模組中的特殊變數
37 模組的特殊變數 顯示模組中的變數 import s1 print vars s1 1 doc 列印注釋資訊。usr bin env python coding utf 8 注釋資訊 print doc 2 file 列印當前檔案所在的相對路徑。print file 列印 c users jia...
核心模組共享變數例項
您的核心必須已經啟用這些選項進行了編譯 loadable module support enable loadable module support module unloading module versioning support experimental automatic kernel mo...