시간 제한이 있는 'subprocess' 모듈 사용
Python 프로그래밍에서는 임의의 명령을 실행하고 해당 출력을 검색해야 하는 경우가 많습니다. 'subprocess' 모듈은 이러한 목적에 편리한 기능을 제공하지만 시간 초과에 대한 지원은 부족합니다. 이는 명령이 장기간 실행될 것으로 예상되는 경우 상당한 제한이 될 수 있습니다.
다음 코드는 Python에서 시간 초과를 구현하는 간단한 접근 방식을 보여줍니다.
from subprocess import check_output try: output = check_output(cmd, stderr=STDOUT, timeout=seconds) except CalledProcessError as e: handle_error(e)
check_output 함수, Python 3.3에 도입되어 호출자가 시간 초과를 초 단위로 지정할 수 있습니다. 명령이 지정된 시간을 초과하면 CalledProcessError 예외가 발생합니다. 명령의 출력은 'output' 변수에 바이트 문자열로 반환됩니다.
Python 2.x 사용자의 경우 subprocess32 백포트 모듈을 사용하여 유사한 기능을 제공할 수 있습니다.
위의 솔루션은 프로세스와의 명시적인 통신이 필요하지 않으며 시간 초과 처리를 위한 보다 간단한 메커니즘을 제공합니다.
위 내용은 시간 초과가 있는 Python의 `subprocess` 모듈을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!