:: python
python :: 파이썬 스크립트로 리눅스 명령어(command) 실행하기
토람이
2021. 11. 10. 23:36
리눅스 shell command 를 실행하는 파이썬 스크립트 작성 시 사용하는 라이브러리 두 가지가 있다.
1. os
import os
os.system('command')
위와 같이 간단하게 작성하면 실제 커맨드가 리눅스 서버에서 잘 실행된다.
하지만 실행 결과 내용물을 받아오는 건 잘 안된다.
result = os.system('command')
# 0
result 에 찍어보려 해봤자 int 형 숫자를 반환할 뿐이었다.
(아마도 실행 결과코드일 것 같다. 0 은 커맨드 실행 성공 코드)
2. subprocess
커맨드 실행 결과 값을 받아오고 싶다면 subprocess 를 사용하는 게 낫다.
import subprocess
result = subprocess.check_output('command', shell=True)
# shell=True 옵션이 없으면 ['ls', '-al'] 와 같이 command 를 list 형식으로 넣어주면 된다.
이렇게 하면 실행결과를 잘 받아온다.
다만 bytes 타입으로 받아오는 것 같았는데, 필요한 type 에 맞게 변환해주면 된다.
300x250