2013-08-22 1 views
2

execfile과 서브 프로세스의 차이점을 알려주십시오. 나는이 두 명령이 동일하다고 생각한다.서브 프로세스와 execfile 간의 diffrence는 무엇입니까

하지만 Execfile()을 사용하면 다른 .py 파일에서 변수를 가져 오는 데 문제가 없습니다. 하지만 하위 프로세스를 사용하려고하면 ""NameError : 전역 이름 'xy'이 정의되지 않았습니다. ""

오류를 가져 오기 위해 무엇을 제공합니까? 왜 내가 Popen 명령을 사용하면 오류 및 execfile이 잘 작동하는지 알 수 있습니다.

답변

0

execfilepopen은 매우 다른 명령입니다.

Execfile을 사용하면 다른 파이썬 파일을 가져 와서 주 스크립트와 동일한 환경에서 실행할 수 있습니다.

Popen을 사용하면 파이썬뿐만 아니라 원하는 모든 하위 프로세스를 생성 할 수 있습니다. 그것은 무엇에서 일어나고있는 것은 그 게시물 종료 값으로 제한됩니다, 또는 '블랙 박스'보는 그래서 당신의 기회입니다 scanning it's STDERR and STDOUT

당신이 정말로 당신이 원하는 경우

) 두 번째 스크립트 독립 ​​사용는 popen을 실행하려면 다른 파이썬 코드를 가져 와서 파일에 임베드하십시오 (필요한 경우 execfile 사용).

관련 문제