> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 셸 명령 출력을 문자열로 캡처하고 반환하려면 어떻게 해야 합니까?

Python에서 셸 명령 출력을 문자열로 캡처하고 반환하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-04 02:09:10
원래의
618명이 탐색했습니다.

How Can I Capture and Return Shell Command Output as a String in Python?

쉘 명령 출력을 문자열로 캡처

문제:

쉘 명령의 출력을 캡처하여 다음과 같이 반환합니다. 오류인지 성공인지에 관계없이 문자열 메시지.

Python 3.5 이상(현대):

import subprocess

def run_command(cmd):
    result = subprocess.run(cmd, stdout=subprocess.PIPE, shell=True)
    return result.stdout.decode('utf-8')

print(run_command('mysqladmin create test -uroot -pmysqladmin12'))
# Example Output:
# mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; database exists'
로그인 후 복사

Python 2.7 - 3.4(레거시):

import subprocess

def run_command(cmd):
    output = subprocess.check_output(cmd, shell=True)
    return output

print(run_command('mysqladmin create test -uroot -pmysqladmin12'))
# Example Output:
# mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; database exists'
로그인 후 복사

포픈 객체(복잡한 응용 프로그램 및 Python 2.6 이하):

import subprocess

def run_command(cmd):
    p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
    output, error = p.communicate()
    return output

print(run_command('mysqladmin create test -uroot -pmysqladmin12'))
# Example Output:
# mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'test'; database exists'
로그인 후 복사

참고:

  • 특정 응용 프로그램을 처리하려면 코드를 수정해야 할 수도 있습니다. 셸 환경 또는 시나리오.
  • 셸 명령을 실행하면 잠재적인 보안 위험이 직접 발생합니다. 보다 안전한 실행 방법을 사용하거나 각 명령의 실행을 분리하고 출력을 수동으로 파이프하는 것이 좋습니다.

위 내용은 Python에서 셸 명령 출력을 문자열로 캡처하고 반환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿