>백엔드 개발 >파이썬 튜토리얼 >subprocess.run을 사용하여 Python에서 외부 명령을 안전하게 실행하는 방법은 무엇입니까?

subprocess.run을 사용하여 Python에서 외부 명령을 안전하게 실행하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-27 20:19:10687검색

How to Safely Execute External Commands in Python Using subprocess.run?

Python에서 외부 명령 실행

Python은 외부 프로그램을 실행하거나 시스템 명령을 호출하는 여러 가지 방법을 제공합니다. 널리 사용되는 접근 방식 중 하나는 subprocess 모듈을 사용하는 것입니다. 이 문서에서는 subprocess.run을 사용하여 외부 명령을 호출하는 방법을 살펴봅니다.

subprocess.run 사용 방법

subprocess.run 함수를 사용하면 외부 명령을 실행할 수 있습니다. 마치 명령 프롬프트에 직접 입력한 것처럼 말이죠. 이를 사용하려면 명령과 인수를 목록으로 전달하면 됩니다.

import subprocess

subprocess.run(['ls', '-l'])  # Execute the 'ls -l' command

명령과 인수는 문자열 목록이어야 합니다.

하위 프로세스의 장점 .run

  • 더 안전함: subprocess.run은 특히 공백이나 특수 문자가 포함된 사용자 입력이나 명령을 처리할 때 os.system을 사용하는 것보다 더 안전한 것으로 간주됩니다.
  • 유연함: subprocess.run은 하위 프로세스에 대한 더 많은 제어를 제공합니다. , 출력, 오류 상태 및 기타 정보를 캡처하는 기능을 포함합니다.

대안 접근 방식

외부 명령을 실행하는 또 다른 옵션은 os.system을 사용하는 것입니다. 그러나 보안 문제 및 제한 사항으로 인해 사용을 권장하지 않습니다.

Python 3.4 이하

Python 3.4 이하를 사용하는 경우 하위 프로세스를 사용해야 합니다. subprocess.run 대신 .call. 구문은 비슷합니다.

subprocess.call(['ls', '-l'])

결론

subprocess.run을 사용하는 것은 일반적으로 Python에서 외부 명령을 실행하는 데 권장되는 접근 방식입니다. 이는 시스템과 상호 작용하고 Python 프로그램의 기능을 확장하는 유연하고 안전한 방법을 제공합니다.

위 내용은 subprocess.run을 사용하여 Python에서 외부 명령을 안전하게 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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