728x90
반응형

subprocess 2

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

질문 : 프로그램을 실행하거나 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 의 장점은 더 유연하다는 것입니다 ( st..

Python의 subprocess.PIPE에 대한 비 차단 읽기

질문 : Python의 subprocess.PIPE에 대한 비 차단 읽기 하위 프로세스 모듈 을 사용하여 하위 프로세스를 시작하고 해당 출력 스트림 (표준 출력)에 연결합니다. 표준 출력에서 비 차단 읽기를 실행할 수 있기를 원합니다. .readline 호출하기 전에 스트림에 데이터가 있는지 확인하는 방법이 있습니까? 나는 이것이 이식 가능하거나 적어도 Windows 및 Linux에서 작동하기를 바랍니다. 다음은 지금 수행하는 방법입니다 (사용 가능한 데이터가없는 경우 .readline p = subprocess.Popen('myprogram.exe', stdout = subprocess.PIPE) output_str = p.stdout.readline() 답변 fcntl , select , asyncp..

728x90
반응형