Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

쉘 파이프라인에 대한 Python 인터페이스

<시간/>

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