리눅스 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
':: python' 카테고리의 다른 글
python :: 파이썬 Bytes to String 변환하기 (2) | 2021.11.18 |
---|---|
python :: 파이썬 코드 실행 시간(elapsed time) 측정하기 (2) | 2021.11.14 |
python :: 파이썬 zfill 로 문자열, 숫자 앞에 0 붙이기 (01, 002) (0) | 2021.06.30 |
python :: 파이썬 딕셔너리(dictionary) <-> json 변환하기, 딕셔너리 출력 포맷 '(홑따옴표) 대신 "(쌍따옴표) 로 나타내기 (2) | 2021.06.29 |
python :: 파이썬 logging 활용하여 일단위 로그 파일 생성하기 (feat. 로깅이란) (3) | 2021.06.28 |