python

[Python] python에서 bash 명령 실행하는 방법

seokhyun2 2018. 6. 26. 10:30

python에서 bash 명령을 실행하는 방법 중에 subprocess 모듈을 활용하는 방법입니다.


subprocess 모듈을 활용하면 bash 명령을 단순히 실행만 시킬 수도 있고, 실행한 명령에 대한 결과를 받아올 수도 있습니다.



먼저 실행만 하는 경우로 call 메서드를 활용하면 됩니다.


import subprocess

subprocess.call('ls -al', shell=True)


위와 같이 실행하면, ls -al 이라는 명령을 실행하게 되고 결과가 바로 프린트 됩니다.



실행하고, 실행한 결과를 바로 프린트 하는 것이 아니라 결과값을 가지고 특정한 프로세스를 하기 위해서는 check_output 메서드를 활용할 수 있습니다.


import subprocess

result = subprocess.check_output('ls -al', shell=True)

print(result)


위와 같이 사용할 경우, ls -al 이란 명령을 실행하고 그 명령에 대한 실행 결과를 result에 저장합니다. 

이 때 result 에는 byte로 저장되니 참고 부탁드립니다.



subprocess 모듈에 대한 좀 더 자세한 정보는 아래의 링크로 접속하시면 확인하실 수 있습니다.

https://docs.python.org/3.6/library/subprocess.html