0
파이썬에서 os.execvp()
함수를 사용하고 있습니다. 나는이 기능의 결과를 얻을 수 없다.파이썬 2.7에서 os.execvp()의 결과를 얻는 방법은 무엇입니까?
try:
msi_install_cmd = ['msiexec.exe', '/quiet', '/i ', msi_path.encode('mbcs')]
os.execvp(msi_install_cmd[0], msi_install_cmd)
except Exception, error:
raise Exception("MSI installed failed")
문제 os.execvp()
에서 반환 코드 또는 예외를 얻을 수 없습니다.
어떻게 일이 발생할 것으로 예상되는? ['execvp()'] (https://docs.python.org/2/library/os.html#os.execvp)는 현재 프로세스를 실행 된 프로세스로 대체합니다. 모든 것이 제대로 작동하면 기능이 의도적으로 반환되지 않습니다. ['subprocess.call()'] (https://docs.python.org/2/library/subprocess.html#subprocess.call) 또는 그와 비슷한 것을 대신 사용 하시겠습니까? – dhke
감사합니다. dhke. 리턴 코드를 얻을 수있는 곳이면 어디에서 사용할 수 있습니까? –
편집을 참조하십시오. 'check_call()'이 유용 할 수 있습니다 ('call()'은 실패시 예외를 발생시키지 않습니다). – dhke