반응형
터미널 명령어 실행하기
- 터미널에 입력할 명령어를 파이썬 코드로 실행하려면 subprocess 모듈을 사용하면 됩니다.
- subprocess 모듈은 파이썬에서 새로운 프로세스를 생성하고, 그 프로세스와 상호작용할 수 있도록 해줍니다.
[예제 1]
import subprocess
# 실행할 명령어를 문자열로 지정합니다.
command = "dir"
# 명령어를 subprocess.run() 함수를 사용하여 실행합니다.
result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
# 명령어의 표준 출력과 표준 에러를 확인할 수 있습니다.
print("stdout:", result.stdout)
print("stderr:", result.stderr)
print("Return code:", result.returncode)
- import subprocess: subprocess 모듈을 불러옵니다.
- 이 모듈은 파이썬에서 새로운 프로세스를 생성하고 그 프로세스와 상호작용하기 위한 기능을 제공합니다.
- command = "dir": 실행할 명령어를 문자열로 지정합니다.
- 이 예제에서는 Windows에서 디렉토리의 내용을 나열하는 dir 명령어를 사용하고 있습니다.
- 만약 Linux나 macOS에서는 동일한 역할을 하는 ls 명령어를 사용할 수 있습니다.
- result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True): 지정한 명령어를 실행합니다
- command: 실행할 명령어 문자열입니다.
- shell=True: 명령어를 쉘을 통해 실행하도록 설정합니다. 이 옵션이 없으면 명령어가 실행되지 않을 수 있습니다.
- stdout=subprocess.PIPE: 명령어의 표준 출력을 파이프에 연결합니다. 이를 통해 파이썬 코드에서 명령어의 출력을 캡처할 수 있습니다.
- stderr=subprocess.PIPE: 명령어의 표준 에러 출력을 파이프에 연결합니다. 이를 통해 파이썬 코드에서 명령어의 에러 출력을 캡처할 수 있습니다.
- universal_newlines=True: 출력과 에러를 텍스트 형식으로 처리합니다. 이 옵션이 없으면 바이트 형식으로 처리됩니다.
- 위 코드는 파이썬 3.6 이하에서 실행됩니다.
- 파이썬 3.7 부터는 result = subprocess.run(command, shell=True, capture_output=True, text=True)로 실행해야 합니다.
- print("stdout:", result.stdout): 명령어의 표준 출력을 확인합니다.
- print("stderr:", result.stderr): 명령어의 표준 에러 출력을 확인합니다.
- print("Return code:", result.returncode): 명령어의 종료 상태 코드를 확인합니다. 0이면 성공적으로 실행된 것이고, 0이 아니면 에러가 발생한 것입니다.
반응형
'개발 > Python' 카테고리의 다른 글
[파이썬, Python] 코드 최적화 예시 총정리 (2) | 2024.07.14 |
---|---|
[파이썬, Python] if __name__ == "__main__": 총정리 (0) | 2024.07.12 |
[파이썬, Python] 패키지 __init__.py 활용법 총정리 (0) | 2024.07.12 |
[파이썬, Python] 패키지 활용법 총정리 (0) | 2024.07.11 |
[파이썬, Python] 매직 메서드(스페셜 메서드) 활용법 총정리 (0) | 2024.07.11 |