2014-09-14 4 views
1

내가 함께 배치 명령을 실행할 일부 파이썬 기능이 열립니다 리눅스에이 실행파이썬은 새 콘솔

subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).stdout.read().decode('utf-8').rstrip() 

는 괜찮습니다,하지만 윈도우에서 실행하여도 모든 subprocess.Popen 호출에서 새 콘솔을 엽니 다 이전 콘솔은 새 콘솔에서이 기능으로 수정 한 내용을 알지 못합니다.

어떻게하면됩니까?

+1

그것은 당신이'cmd'에 사용하는 것을 알고 도움이 될 것이다. 또한 2.7.2에서는 Win7에서 그런 일이 일어나지 않습니다. 나는 "cmd"에 "일시 중지"를 사용할 때도 창을 보지 못합니다. 마지막으로 한 가지 ** ** 자녀 _ 환경 _에서 현재 _ 환경에 ** 영향을 줄 수는 없습니다. 그게 어떻게 작동하는지 (레지스트리를 설정하는 것과 같은 미친 짓을하지 않는 한). 그러나 새 환경을 생성하기 전에 현재 환경에 영향을 줄 수는 없습니다. [os.environ 관련 문서 (https://docs.python.org/2/library/os.html#os.environ)를 참조하십시오. – mtik00

답변

-1

코드가 복잡합니다. 내가 실행 명령 파이썬 스크립트를 작성 :

import subprocess 
import sys 
subprocess.Popen([sys.executable,cmd],stdout=subprocess.PIPE).stdout.read().decode('utf-8').rstrip() 

당신이 더 쉽게 시도 할 수 있습니다 작동되어 있지 않은 경우 :

import subprocess 
import sys 
proc = subprocess.Popen([sys.executable,cmd],stdout=subprocess.PIPE) 
proc.communicate()