0
에서 argparse 경우 parse_args 액세스하기 위해 다음 스크립트가 있습니다어떻게 다른 함수
#!/usr/bin/env python
import argparse
args = {}
def do_something():
print 'from do_something ', args
def my_parse_args():
parser = argparse.ArgumentParser(description='A demo script')
parser.add_argument('arg1', help='an arg')
args = vars(parser.parse_args())
print 'from my_parse_args ', args
if __name__=="__main__":
my_parse_args()
do_something()
내가() 함수를 do_something에서 인수에 액세스하기 위해 노력하고 있습니다. 하지만 다음과 같은 결과를 얻었습니다 :
python demo.py example
from my_parse_args {'arg1': 'example'}
from do_something {}
왜 args 사전은 my_parse_args() 함수에서 설정되지 않고 있습니까?
나는 두 함수의 상단에'global args'를 찾고 있다고 생각합니다. 'args = vars (parser.parse_args())에서 무슨 일이 벌어지고있는 것은 함수 밖에서 선언 한 것이 아닌, 함수 - 로컬 변수'args'에 무엇인가를 할당하고 있다는 것입니다. – 2rs2ts