Python은 실패 할 수도있는 서브 프로세스를 호출하는 두 가지 편리한 함수 인 subprocess.check_call
과 subprocess.check_output
을 제공합니다. 기본적Python의 subprocess.check_call/check_output에 해당하는 Ruby
subprocess.check_call(['command', 'arg1', ...])
서브 프로세스는, 블록으로 지정된 명령 급부상하고 는 (영 복귀) 서브 프로세스가 성공적으로 종료 된 것을 확인. 그렇지 않은 경우에는 예외가 발생합니다. check_output
은 하위 프로세스의 stdout을 캡처하고 바이트 문자열로 반환한다는 점을 제외하면 똑같은 작업을 수행합니다.
이것은 단일 파이썬 표현식 (몇 줄의 코드에서 서브 프로세스를 설정하고 제어 할 필요가 없기 때문에)에 편리하며 반환 값을 확인하는 것을 잊을 위험이 없습니다.
관용구 루비가 check_call
및 check_output
에 해당하는 이유는 무엇입니까? 나는 프로세스의 리턴 값을 제공하는 $?
글로벌을 알고 있지만, 어색하다. 예외가있는 점은 수동으로 에러 코드를 확인할 필요가 없다는 것이다. There are numerous ways to spawn a subprocess in Ruby인데이 기능을 제공하는 제품이 없습니다.