2012-05-14 4 views

답변

3

환경 변수를 대괄호로 인쇄하면 곧 줄 바꿈이 추가 된 것을 볼 수 있습니다 (쉼표로 구분 된 목록이 있거나 그 중 일부가 추가 된 경우 줄 바꿈을 주석에 포함한다고 가정하고 있음) 일이 필요함).

이러한 변수를 str.strip()과 함께 제거한 다음이 변수를 os.getenv()으로 직접 전달할 수 있습니다. 그러면 다음과 같이 출력 할 수 있습니다 :

import os 
for env_check in open('env_check.conf'): 
    env_check = env_check.strip() 
    print '[{}]'.format(env_check) 
    newenv = os.getenv(env_check) 
    if newenv is None: 
     print env_check, 'is not set' 
    else: 
     print 'Current Setting for {}={}'.format(env_check, newenv) 
+1

대단히 고맙습니다. 문제가 해결되었습니다. – geekcomputers

+0

나는 본다. 나는 당신이 당신의 코드에'print env_check'을했기 때문에 이것을 이미 알아 차렸을 것이라고 가정했을 것이다. –

+0

아니, 나는 그것을 놓쳐 버려야한다. 나는 스트립을 놓쳤다 고 생각한다. 당신의 도움을 주셔서 감사합니다 – geekcomputers

1

os.getenv() 잘 작동 사전에

import os 
for env_check in open('env_check.conf'): 
    print env_check 
    newenv = os.getenv('"'+env_check+'"') 
    if newenv is None: 
    print newenv, 'is not set' 
    else: 
    print 'Current Setting for ' + newenv 

감사합니다. 내 생각 엔 환경 변수 이름 주위에 추가하는 따옴표는 없어야합니다. @BluePeppers가 올바르게 지적한대로 당신은 또한 교체해야

os.getenv(env_check) 

os.getenv('"'+env_check+'"') 

교체

print newenv, 'is not set' 

print env_check, 'is not set' 
+0

나는 그들이 설정되지 않았다는 것을 단지 열거했다. 그것은 인쇄하고 아무도 설정되지 않는다고 말합니다. – geekcomputers

+2

당신이'print newenv '를하고 있기 때문에 그게 설정되어 있지 않습니다. 항상 설정되지 않습니다. 설정되어 있지 않습니다. 'print env_check '가 설정되지 않았습니다.' – BluePeppers

+0

감사합니다. os.getenv에서 환경 변수 설정을 얻지 못하고 있습니다. 그 중 일부는 설정되어 있습니다. – geekcomputers

관련 문제