pipes — 셸 파이프라인에 대한 인터페이스

소스 코드: Lib/pipes.py

버전 3.11부터 폐지: The pipes module is deprecated (see PEP 594 for details). Please use the subprocess module instead.


pipes 모듈은 파이프라인 개념을 추상화하는 클래스를 정의합니다 — 하나의 파일을 다른 파일로 변환하는 일련의 변환기입니다.

모듈이 /bin/sh 명령 줄을 사용하므로, os.system()os.popen()를 위한 POSIX 나 그와 호환되는 셸이 필요합니다.

pipes 모듈은 다음 클래스를 정의합니다:

class pipes.Template

파이프라인의 추상화.

예제:

>>> import pipes
>>> t = pipes.Template()
>>> t.append('tr a-z A-Z', '--')
>>> f = t.open('pipefile', 'w')
>>> f.write('hello world')
>>> f.close()
>>> open('pipefile').read()
'HELLO WORLD'

Template 객체

Template 객체는 다음 메서드를 갖습니다:

Template.reset()

파이프라인 템플릿을 초기 상태로 복원합니다.

Template.clone()

새로운 동등한 파이프라인 템플릿을 반환합니다.

Template.debug(flag)

flag가 참이면, 디버깅을 켭니다. 그렇지 않으면, 디버깅을 끕니다. 디버깅이 켜지면, 실행되는 명령이 인쇄되고, 셸에 set -x 명령이 주어져 더 자세한 정보가 표시됩니다.

Template.append(cmd, kind)

끝에 새로운 액션을 추가합니다. cmd 변수는 올바른 bourne 셸 명령이어야 합니다. kind 변수는 두 개의 문자로 구성됩니다.

첫 번째 문자는 '-' (명령이 표준 입력을 읽음을 의미), 'f' (명령이 명령 줄에서 주어진 파일을 읽음을 의미) 또는 '.' (명령이 입력을 읽지 않음을 의미하므로, 반드시 첫 번째여야 합니다) 일 수 있습니다.

마찬가지로, 두 번째 문자는 '-' (명령이 표준 출력에 쓰는 것을 의미), 'f' (명령이 명령 줄에서 주어진 파일에 쓰는 것을 의미) 또는 '.' (명령이 아무것도 쓰지 않음을 의미하므로, 반드시 마지막이어야 합니다) 일 수 있습니다.

Template.prepend(cmd, kind)

처음에 새로운 액션을 추가합니다. 인자에 대한 설명은 append()를 참조하십시오.

Template.open(file, mode)

file로 열려 있지만, 파이프라인에서 읽거나 파이프라인으로 쓰는 파일류 객체를 반환합니다. 'r', 'w' 중 하나만 주어질 수 있습니다.

Template.copy(infile, outfile)

파이프를 통해 infileoutfile로 복사합니다.