pipes
— Интерфейс для конвейеров оболочки¶
Исходный код: Lib/pipes.py.
Не рекомендуется, начиная с версии 3.11: Модуль pipes
является устаревшим (подробнее см. PEP 594). Вместо него используйте модуль subprocess
.
Модуль pipes
определяет класс для абстрагирования концепции трубопровода — последовательности конвертеров из одного файла в другой.
Поскольку модуль использует командные строки /bin/sh, требуется POSIX или совместимая оболочка для os.system()
и os.popen()
.
Availability: Unix. Недоступно на VxWorks.
Модуль 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.
reset
()¶ Восстановление исходного состояния шаблона трубопровода.
-
Template.
clone
()¶ Возвращает новый, эквивалентный, шаблон трубопровода.
-
Template.
debug
(flag)¶ Если flag равен true, включите отладку. В противном случае отладка выключается. Когда отладка включена, команды, которые будут выполняться, выводятся на печать, а оболочке дается команда
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 через трубу.