pipes
— Интерфейс для pipelines оболочки¶
Исходный код: Lib/pipes.py
Модуль pipes
определяет класс для абстрагирования концепции pipeline
— последовательности преобразователей из одного файла в другой.
Поскольку модуль использует командные строки /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
()¶ Возвращает шаблон pipeline его начальному состояние.
-
Template.
clone
()¶ Возвращает новый эквивалентный шаблон pipeline.
-
Template.
debug
(flag)¶ Если flag верен, включите отладку. Иначе выключите отладку. Когда отладка идет, команды, которые будут выполнены, напечатаны, и раковине дают команду
set -x
, чтобы быть более многословной.
-
Template.
append
(cmd, kind)¶ Добавить новое действие в конц. Переменная cmd должна быть действительной командой оболочки bash. Переменная kind состоит из двух букв.
Первая буква может быть либо
'-'
(что означает, что команда читает свой стандартный ввод),'f'
(что означает, что команды читают данный файл в командной строке), либо'.'
(что означает, что команды не считывают ввод, и, следовательно, должны быть первыми.)Аналогично, вторая буква может быть либо
'-'
(что означает, что команда записывает в стандартный вывод),'f'
(что означает, что команда записывает файл в командной строке) или'.'
(что означает, что команда ничего не пишет, и, следовательно, должна быть последней.)
-
Template.
prepend
(cmd, kind)¶ Добавляет новое действие в начале. Разъяснения аргументов см. в разделе
append()
.
-
Template.
open
(file, mode)¶ Возвращает объект, похожий на файл, открытый для file, но считанный или записанный конвейером. Обратите внимание, что может быть задан только один из
'r'
,'w'
.
-
Template.
copy
(infile, outfile)¶ Копировать infile в outfile через пайп.