프로그래밍 언어/Python

프로그램을 실행하거나 Python에서 시스템 명령을 호출하는 방법

Rateye 2021. 12. 13. 00:25
728x90
반응형
질문 : 프로그램을 실행하거나 Python에서 시스템 명령을 호출하는 방법

Python 스크립트 내에서 외부 명령을 어떻게 호출합니까 (유닉스 셸 또는 Windows 명령 프롬프트에 입력 한 것처럼)?

답변

표준 라이브러리에서 subprocess 모듈을 사용합니다.

import subprocess
import sys

command = subprocess.run(['ls', '-l'], capture_output=True)

sys.stdout.buffer.write(command.stdout)
sys.stderr.buffer.write(command.stderr)
sys.exit(command.returncode)

os.system 보다 subprocess.run 의 장점은 더 유연하다는 것입니다 ( stdout , stderr , "실제"상태 코드 , 더 나은 오류 처리 등을 얻을 수 있습니다 ...).

os.system 의 문서 조차도 subprocess 를 사용하도록 권장합니다.

subprocess 모듈은 새 프로세스를 생성하고 결과를 검색하기위한보다 강력한 기능을 제공합니다. 이 기능을 사용하는 것보다 해당 모듈을 사용하는 것이 좋습니다. 유용한 레시피에 대해서는 subprocess 문서의 하위 프로세스 모듈로 이전 함수 바꾸기 섹션을 참조하세요.

Python 3.4 이하 .run subprocess.call 사용하십시오.

subprocess.call(["ls", "-l"])
출처 : https://stackoverflow.com/questions/89228/how-to-execute-a-program-or-call-a-system-command-from-python
728x90
반응형