我有一個從其他腳本調用多個函數的python腳本。我把劇本給它作爲參數的設置與格式文件:python全局參數文件
var1 = XXX
var2 = YYY
...
我想使這些變量的全局,使他們能夠通過每一個功能我打電話可以使用,但不必明確地傳遞它們。做這個的最好方式是什麼?
謝謝。
我有一個從其他腳本調用多個函數的python腳本。我把劇本給它作爲參數的設置與格式文件:python全局參數文件
var1 = XXX
var2 = YYY
...
我想使這些變量的全局,使他們能夠通過每一個功能我打電話可以使用,但不必明確地傳遞它們。做這個的最好方式是什麼?
謝謝。
簡單的方法是使用建議的設置(例如settings.py
)模塊。
您只需在模塊中定義變量,它們將可用於任何通過settings.var_name
導入settings
模塊的模塊。
實施例:
文件settings.py
:
var_name = "value"
文件m.py
:
#!/usr/bin/env python
import settings
print settings.var_name
一種優選的方法是使用環境(子進程繼承環境)通過它在一個全局上下文。您可以使用os.environ來達到此目的。
的如何做到這一點的一個例子:
文件a.py
:
#!/usr/bin/env python
import os
import b
os.environ['var_name'] = 'value'
b.echo()
文件b.py
:
import os
def echo():
print os.environ['var_name']
這很完美!謝謝! – jorgehumberto 2014-11-05 15:50:45
你可以把他們一個'settings.py'模塊和進口的該模塊 – wim 2014-11-04 15:28:32
,它們將可用於我在主腳本中導入的每個函數? – jorgehumberto 2014-11-04 15:58:47
是的,通過'settings.var_name'。 如果是你正在構建的系統,我建議使用環境變量。 – 2014-11-04 16:00:49