Python을 사용하여 UNIX 명령 파이프라인 메커니즘을 사용하려면. 명령 파이프라인에서 시퀀스는 한 파일에서 다른 파일로 변환됩니다.
이 모듈은 /bin/sh 명령줄을 사용합니다. 따라서 os.system() 및 os.popen() 메서드가 필요합니다.
이 모듈을 사용하려면 −
를 사용하여 가져와야 합니다.import pipes
파이프는 템플릿 클래스를 보유합니다 -
클래스 파이프.템플릿
이 클래스는 기본적으로 파이프라인의 추상화입니다. 다른 방법이 있습니다. 다음과 같습니다.
메서드 Template.reset()
이 방법은 파이프라인 템플릿을 초기 위치로 복원하는 데 사용됩니다.
메서드 Template.clone()
이 방법은 다른 새로운 동일한 템플릿 개체를 만드는 데 사용됩니다.
메서드 Template.debug(플래그)
이 메서드는 프로세스를 디버그하는 데 사용됩니다. 플래그가 true이면 디버깅 모드가 켜집니다. 켜져 있으면 실행 중에 명령이 인쇄됩니다.
메소드 Template.append(명령, 종류)
이 방법은 끝에 새 작업을 삽입하는 데 사용됩니다. 명령은 본 쉘 명령이어야 합니다. 종류 변수는 2개의 문자로 구성됩니다.
첫 글자의 경우 -
를 의미합니다.시니어 번호 | 캐릭터 및 설명 |
---|---|
1 | '-' 명령은 표준 입력을 읽습니다. |
2 | '에' 명령은 명령줄에서 주어진 파일을 읽습니다. |
3 | '.' 명령이 입력을 읽지 않습니다. 따라서 첫 번째 위치에 있게 됩니다. |
두 번째 글자는 의미합니다.
시니어 번호 | 캐릭터 및 설명 |
---|---|
1 | '-' 명령은 표준 출력에 씁니다. |
2 | '에' 명령은 명령줄에 파일을 씁니다. |
3 | '.' 명령은 출력을 기록하지 않습니다. 그래서 마지막 위치에 있게 됩니다. |
메서드 Template.prepend(명령, 종류)
이 방법은 처음에 새 작업을 삽입하는 데 사용됩니다. 명령은 본 쉘 명령이어야 합니다. append() 메서드와 유사합니다.
메서드 Template.open(파일, 모드)
이 메소드는 읽거나 쓰기 위해 파일을 여는 데 사용됩니다. 그러나 읽기 또는 쓰기 작업은 파이프라인에서 수행됩니다.
메서드 Template.copy(infile, outfile)
이 방법은 파이프라인에 의해 infile에서 outfile로 복사하는 데 사용됩니다.
예시 코드
import pipes my_template = pipes.Template() my_template.append('tr a-z A-Z', '--') my_template.prepend('echo Python Programming', '--') #Prepend the item into queue my_template.append('rev', '--') my_template.debug(True) my_file = my_template.open('test_file', 'w') my_file.close() content = open('test_file').read() print(content)
출력
$ python3 example.py echo Python Programming | tr a-z A-Z | rev >test_file + rev + tr a-z A-Z + echo Python Programming GNIMMARGORP NOHTYP