IT개발/Python(파이썬)2010. 8. 25. 14:58

다른 프로그램 실행
하기위해서 파이썬2.4 에서는 프로세스를 생성하고 통신하는 관련 작업을 일관되게 할수 있도록 subprocess라는 모듈을 추가했다.
이 모듈은 기존의 os.popen, os.popen2, os.system, os.spawn() 모두 통합하는 모듈이다. 기존 모듈이 여전히 존재 하지만 subprocess 사용을 권장한다. 다음 예제에는 서버에 설치되어 있는 2.3.4 버전을 이용한다. 

1. 다른 프로그램 실행 예제
실행환경 : 운영체제 - Windows XP , Python ver - 3.12
>>> import subprocess
>>> Popen('c:\\windows\\system32\\calc.exe')
<subprocess.Popen object at 0x00FE39B0>


실행 환경 : 운영체제 - 리눅스, Python ver - 2.3.4

>>> import os
>>> a = os.popen("ls -al")
>>> for line in a.readlines():
...     print line
...
합계 8
drwxrwxr-x  2 citylock citylock 4096  8월 25 13:22 .
drwxrwxr-x  4 citylock citylock 4096  8월 25 13:22 ..
※ python 2.3 이전 버전에서는 subprocess 라는 모듈이 없기 때문에 os 메소드를 이용해서 실행한다.

참고로
>>> help(os.popen)
Help on built-in function popen:

popen(...)
    popen(command [, mode='r' [, bufsize]]) -> pipe
    Open a pipe to/from a command returning a file object.



Posted by 시티락