>백엔드 개발 >파이썬 튜토리얼 >하위 프로세스를 사용하여 Python 스크립트에서 사용자 입력을 자동화하고 JSON 출력을 검색하는 방법은 무엇입니까?

하위 프로세스를 사용하여 Python 스크립트에서 사용자 입력을 자동화하고 JSON 출력을 검색하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 08:16:30295검색

How to Automate User Input and Retrieve JSON Output from Python Scripts with subprocess?

하위 프로세스를 사용하여 사용자 입력으로 Python 스크립트 호출

Python에서는 스크립트를 실행하려는 시나리오가 발생할 수 있습니다(참조: "a.py")는 사용자에게 입력을 요청하고 JSON 형식의 출력을 생성합니다. Python의 하위 프로세스 모듈을 사용하여 다른 스크립트("b.py"라는 이름)에서 이 스크립트의 실행을 자동화하려면 다음 단계를 따르십시오.

필요한 모듈 가져오기:

<code class="python">import os
import sys
from subprocess import check_output</code>

경로 결정 실행하려는 스크립트("a.py"):

<code class="python">script_path = os.path.join(get_script_dir(), 'a.py')</code>

check_output() 함수를 사용하여 "a.py"를 실행하고 입력을 제공합니다:

<code class="python">output = check_output([sys.executable, script_path],
                      input='\n'.join(['query 1', 'query 2']),
                      universal_newlines=True)</code>

이 명령은 다음 작업을 수행합니다.

  • "query 1" 및 "query 2"를 스크립트에 대한 입력으로 제공합니다.
  • sys에서 지정한 Python 인터프리터를 사용하여 스크립트를 실행합니다. 실행 가능합니다.
  • 'output' 변수에 스크립트의 출력을 캡처합니다.

이러한 방식으로 입력을 제공하면 스크립트와 사용자 상호 작용을 효과적으로 시뮬레이션할 수 있습니다. 이제 "b.py" 스크립트에서 필요에 따라 출력을 사용할 수 있습니다.

추가 대안

  • 가져오기 및 호출 기능: "a.py" 모듈을 가져와 해당 기능을 직접 호출하여 입력을 제공하고 결과를 검색할 수 있습니다.
  • 멀티프로세싱 사용: 쿼리 처리가 CPU를 많이 사용하는 경우 멀티프로세싱을 사용하여 다음을 수행하는 것이 좋습니다. 성능 향상을 위해 각 쿼리를 별도의 프로세스에서 실행하세요.

위 내용은 하위 프로세스를 사용하여 Python 스크립트에서 사용자 입력을 자동화하고 JSON 출력을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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