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

소스 코드: Lib/pipes.py

버전 3.11에서 폐지되었습니다, 버전 3.13에서 제거됩니다.: The `pipes` module is deprecated (see PEP 594 for details). Please use the `subprocess` module instead.

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

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

Availability: Unix, not VxWorks.

`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로 복사합니다.