2014-11-04 4 views
0

다른 스크립트에서 여러 함수를 호출하는 python 스크립트가 있습니다.python 전역 매개 변수 파일

var1 = XXX 
var2 = YYY 
... 
나는 그들이 내가 전화의 모든 기능을 사용할 수 있습니다, 그래서 그 변수는 글로벌하고 싶습니다

하지만, 명시 적으로 전달할 필요없이 : 나는 스크립트가 설정이 형식의 파일을 매개 변수로 제공 호출합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

감사합니다.

+1

당신은 단지'settings.py' 모듈과 수입을 넣을 수 있습니다 해당 모듈 – wim

+0

그리고 그들은 주 스크립트에서 가져 오는 모든 기능에 사용할 수 있습니까? – jorgehumberto

+0

네,'settings.var_name'을 통해. 환경 변수를 사용하는 것이 좋습니다. –

답변

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