2014-11-04 38 views
0

我有一個從其他腳本調用多個函數的python腳本。我把劇本給它作爲參數的設置與格式文件:python全局參數文件

var1 = XXX 
var2 = YYY 
... 

我想使這些變量的全局,使他們能夠通過每一個功能我打電話可以使用,但不必明確地傳遞它們。做這個的最好方式是什麼?

謝謝。

+1

你可以把他們一個'settings.py'模塊和進口的該模塊 – wim 2014-11-04 15:28:32

+0

,它們將可用於我在主腳本中導入的每個函數? – jorgehumberto 2014-11-04 15:58:47

+0

是的,通過'settings.var_name'。 如果是你正在構建的系統,我建議使用環境變量。 – 2014-11-04 16:00:49

回答

1

簡單的方法是使用建議的設置(例如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'] 
+0

這很完美!謝謝! – jorgehumberto 2014-11-05 15:50:45