>백엔드 개발 >파이썬 튜토리얼 >Ubuntu에서 Python의 하위 프로세스를 자동으로 실행하고 출력을 억제하려면 어떻게 해야 합니까?

Ubuntu에서 Python의 하위 프로세스를 자동으로 실행하고 출력을 억제하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-11 03:54:15436검색

How Can I Silently Run a Subprocess in Python on Ubuntu and Suppress its Output?

Ubuntu에서 하위 프로세스 출력 침묵

제공된 Python 스크립트에서 eSpeak 클러터는 원치 않는 오류 메시지가 있는 셸입니다. 목표는 원하는 가청 응답을 유지하면서 이 출력을 억제하는 것입니다. eSpeak의 장황함을 억제하는 직접적인 방법을 찾지 못하더라도 출력을 시각적으로 침묵시키는 솔루션이 존재합니다.

Python에서 출력 리디렉션 >= 3.3

출력을 효과적으로 숨기려면 출력을 다음으로 리디렉션하세요. DEVNULL 속성을 사용하는 null 장치:

import subprocess

subprocess.call(['echo', 'foo'],
    stdout=subprocess.DEVNULL,
    stderr=subprocess.STDOUT)

Python에서 출력 리디렉션 < 3.3

Python 3.3 이전 버전의 경우 다음 접근 방식을 사용합니다.

import os
FNULL = open(os.devnull, 'w')
subprocess.call(['echo', 'foo'],
    stdout=FNULL,
    stderr=subprocess.STDOUT)

셸 명령과의 유사성

제공된 솔루션은 다음 셸 명령을 실행하는 것과 유사합니다.

retcode = os.system("echo 'foo' > /dev/null")

출력을 /dev/null로 리디렉션하면 깔끔하게 정리됩니다. 추가 상호작용을 위해 껍데기를 깨끗하게 남겨두고 숨겨져 있습니다.

위 내용은 Ubuntu에서 Python의 하위 프로세스를 자동으로 실행하고 출력을 억제하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.