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'
1. Объекты шаблонов
Объекты шаблонов поддерживают следующие методы:
-
Template.reset() -
Восстановление шаблона конвейера до исходного состояния.
-
Template.clone() -
Возвращает новый эквивалентный шаблон конвейера.
-
Template.debug(flag) -
Если flag истинно, включить отладку. В противном случае, отключить отладку. При включённой отладке будут выводиться команды, которые будут выполнены, а оболочке будет передано
set -xдля более подробного вывода.
-
Template.append(cmd, kind) -
Добавление нового действия в конец. Переменная cmd должна быть валидной командой bourne shell. Переменная 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.5/library/pipes.html