문제:
쉘 명령의 출력을 캡처하여 다음과 같이 반환합니다. 오류인지 성공인지에 관계없이 문자열 메시지.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!