subprocess
모듈을 통해 작은 MATLAB 스크립트와 Python을 인터페이스하고 있습니다. 다음과 같이 :Python은 MATLAB이 끝나기를 기다리지 않습니다.
cmd='(matlab -nosplash -nodesktop -r "optimizer;quit;")'
p = subprocess.Popen(cmd,stdin=None,stdout=None,shell=True)
#subprocess.Popen.wait(p)
#p.wait()
print "DONE?"
"완료"는 MATLAB이 시작되기 전에도 인쇄 중입니다! 내 코드 전체가이 때문에 붕괴되고 있습니다. (I 시작하는 곳이지만, 나는 그것의 사용되지 않는 것을 SO에 읽기)()를 호출 os.system을 사용
p.wait()
및subprocess.Popen.wait
를 사용- :
이 나는 노력했다. 둘 다 작동하지 않습니다.
- 수동 일시 중지를 사용하여 3 분 (MATLAB이 평균적으로 완료하는 데 걸리는 최대 시간) 최고 성병.
무엇이 누락 되었습니까? 나를 위해
MATLAB을 호출 할 때 ASP.NET MVC 페이지에서도 이와 비슷한 일이 발생했습니다. MATLAB에서 특정 함수를 실행하고 있습니까? 아니면 그냥 켜고 싶습니까? – IronMan84
@ IronMan84 NumPy에서 수학 코드 작업을 할 수 없기 때문에 행렬을 CSV 파일로 내보내 MATLAB에서 읽고 컴퓨팅하고 CSV 파일에 대한 응답을 내보내고 Python으로 다시 읽습니다. –
괄호를 제거하면 어떻게됩니까? cmd 주위에 – mgilson