subprocess


이 모델은 2.4 버전에서 새롭게 생긴것으로 이전의 os, poepn2, commands와 같은 다양한 다른 모듈에 있는 기능을 한곳에 모은 것이다.


Popen(args, **parms)


class subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)



args는 'ls -l'과 같은 문자열 또는 ['ls','-l']과 같은 문자열 리스트로 지정 한다.

parms는 하위 프로세스의 다양한 속성을 제어하기 위해 설정한 키워드 인수들을 나타낸다. 다음 키워드 인수들을 인식한다.

bufsize: 버퍼링 방식을 지정한다. 0은 버퍼링하지 않고, 1은 줄 버퍼링을 하며, 음수 값은 시스템 기본 값을 사용한다. 그 밖에 양수 값은 대략적인 버퍼 크기를 나타낸다. 기본 값은 0이다.

excutable: 사용할 실행 프로그램의 이름을 지정한다. 프로그램 이름이 이미 args에 담겨져 있기 때문에 사용할 일이 거의 없다. 다만, shell이 주어지면 이 매개변수는 셀의 이름을 지정한다. 기본 값은 None 이다. 

stdin: 자식프로세스에서 stdin에 사용할 파일을 나타내는 파일 객체. stderr에서 사용할 수 있는 값을 사용할 수 있다. 기본 값은 None 이다.

stdout: 자식프로세스에서 stdout에 사용할 파일을 나타내는 파일 객체. stderr에 사용할 수 있는 값을 사용할 수 있다. 기본 값은 None 이다.

stderr: 자식프로세스에서 stderr에 사용할 파일을 나타내는 파일 객체. open()로 생성한 파일객체, 정수 파일 기술자 또는 새로운 파이프가 생성되었음을 나타내는 특수 값 PIPE가 될 수 있다. 기본 값은 None이다.

preexec_fn: 명령을 실행하기 바로 전에 자식프로세스에서 호출할 함수를 지정한다. 이 함수는 인수를 받지 않는다.

close_fds: True이면 자식 프로세스를 실행하기 전에 0,1,2를 제외한 모든 파일 기술자를 닫는다. 기본 값은 0이다.

shell: True 이면 os.system()함수 처럼 작동하는 유닉스 쉘을 사용하여 명령을 실행 한다. 기본 쉘은 /bin/sh 이지만 executable 설정을 통해서 변경할 수 있다. shell의 기본값은 None 이다.  

cwd: 명령을 실행할 디렉터리, 실행 전에 자식 프로세스의 



'Computer Science > Python' 카테고리의 다른 글

GUI Responsive ( Thread, wx.Yield  (0) 2014.04.11
PIL 라이브러리: Image.open AttributeError  (0) 2013.11.26
subprocess  (0) 2013.07.26
mutlprocessing의 오류  (0) 2013.07.19
GUI 프로그래밍  (0) 2013.06.23
ImageMagick for Python  (0) 2013.05.07

+ Recent posts