pipes — Интерфейс к конвейеру командной оболочки
Исходный код: Lib/pipes.py
Модуль pipes определяет класс для абстрагирования концепции конвейера — последовательности преобразователей из одного файла в другой.
Поскольку модуль использует командные строки /bin/sh, требуется оболочка POSIX или совместимая с ней для os.system() и os.popen().
Модуль 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'
35.10.1. Объекты 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 через конвейер.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.6/library/pipes.html