Spec-Zone.ru › Python 3.7

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API