Computer >> Máy Tính >  >> Lập trình >> Python

Giao diện Python với đường ống Shell

Để sử dụng cơ chế đường dẫn lệnh UNIX bằng python. Trong lệnh pipelining một chuỗi chuyển đổi từ tệp này sang tệp khác.

Mô-đun này sử dụng dòng lệnh / bin / sh. Vì vậy, chúng ta cần các phương thức os.system () và os.popen ().

Để sử dụng mô-đun này, chúng ta nên nhập nó bằng cách sử dụng -

import pipes

Các đường ống chứa lớp Mẫu -

đường ống lớp.Template

Lớp này về cơ bản là một phần trừu tượng của một đường ống. Nó có các phương pháp khác nhau. Những điều này như sau.

Method Template.reset ()

Phương pháp này được sử dụng để khôi phục mẫu đường ống về vị trí ban đầu của nó.

Phương thức Template.clone ()

Phương thức này được sử dụng để tạo một đối tượng mẫu mới và giống nhau.

Method Template.debug (flag)

Phương pháp này được sử dụng để gỡ lỗi quy trình. Khi cờ là true, chế độ gỡ lỗi đang bật. Khi nó được bật, các lệnh sẽ được in trong quá trình thực thi.

Method Template.append (lệnh, loại)

Phương thức này được sử dụng để chèn một tác vụ mới vào cuối. Lệnh này phải là lệnh shell mới. Biến loại bao gồm hai ký tự.

Đối với chữ cái đầu tiên, nó có nghĩa là -

Sr.No. Ký tự &Mô tả
1

‘-‘

Lệnh đọc Đầu vào chuẩn

2

‘f’

Command sẽ đọc một tệp nhất định trên dòng lệnh

3

‘.’

Lệnh không đọc bất kỳ đầu vào nào. Vì vậy, nó sẽ ở vị trí đầu tiên.

Đối với chữ cái thứ hai, nó có nghĩa là.

Sr.No. Ký tự &Mô tả
1

‘-‘

Lệnh ghi vào đầu ra tiêu chuẩn

2

‘f’

Lệnh sẽ ghi một tệp trên dòng lệnh

3

‘.’

Lệnh không ghi bất kỳ đầu ra nào. Vì vậy, nó sẽ ở vị trí cuối cùng.

Method Template.prepend (lệnh, loại)

Phương thức này được sử dụng để chèn một tác vụ mới vào đầu. Lệnh này phải là lệnh shell mới. Nó tương tự như phương thức append ().

Method Template.open (tệp, chế độ)

Phương pháp này được sử dụng để mở một tệp để đọc hoặc ghi. Nhưng các hoạt động đọc hoặc ghi được thực hiện bởi các đường ống.

Method Template.copy (infile, outfile)

Phương thức này được sử dụng để sao chép từ infile sang outfile theo đường dẫn.

Mã mẫu

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)

Đầu ra

$ 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