Python 中的跨模組共享變數

2021-09-19 17:27:50 字數 1256 閱讀 5574

這方法也是官方檔案中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...