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'
Объекты 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.7/library/pipes.html