# `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)

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