Spec-Zone.ru › Python 3.5

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

Spec-Zone.ru

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