study2011. 8. 1. 16:05
파이썬에서 시스템 명령어를 실행 시키는 방법은 여러가지가 있다.
os.system 혹은 os 의 exec 함수들을 이용하는 것이 가장 일반적이다.

하지만 간혹 시스템 명령어를 실행 시키고 그 결과값 (status)와 결과물 (output)을 가져오고 싶은 경우가 생긴다.
예를 들면
'ls'를 실행 시켰을 때. ls가 정상적으로 실행되었는지를 알아내거나, ls의 결과물을 가공한다거나 할 때 유용하게 쓸 수 있는 유틸리티가 있다.

Python 2.X 버젼에서는 commands, Python 3.X에서는 subprocess가 그것이다.

>>>#python 2.x에서...
>>>import commands
>>>commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')     # 튜플 형태로 status와 optput을 넘겨 준다.


>>>#python 3.X
>>> import subprocess
>>>retcode = subprocess.call(["ls", "-l"])
Posted by 평면우주