2016-06-27 3 views
0

나는 파이썬 스크립트를 실행입니까?파이썬 변수 범위 및 실행

+0

'가져 오기 프로세스'를 수행 하시겠습니까? – ShadowRanger

+0

@ShadowRanger : 어쩌면,하지만 파일을 두 번 가져올 경우 한 번만 파일을 실행합니다. 이'exec'는''이 파일에 정의 된 것들을 사용 가능하게하십시오 ''보다 '이 파일을 실행하는 것'에 더 가깝습니다. – user2357112

+0

@ user2357112 : 참. 아마도 'import process'와 그 안에 정의 된 함수를 실행하는 것이 파일을 반복적으로 exec시키는 것보다 효율적이고 덜 우스운 일 이겠지만. – ShadowRanger

답변

0

는 대신이 코드를 자신의 전역의 새로운 딕셔너리에서 파일의 내용을 실행할 수 있습니다 :

with open("process.py") as f: 
    exec(f.read(), {}) 

이것은 파이썬 프로그램을 구성하는 이상한 방법입니다,하지만. 일반적으로 exec -ing 파일 대신 코드를 모듈 및 함수로 구성합니다.

+1

또는'process.py'가 현재 전역 변수 (yuck)에 의존하는 경우'globals(). copy() '라고 가정합니다 ... 물론 객체의 변이는 여전히 "누출"됩니다 ... – mgilson