:: 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