Spec-Zone.ru › Python 3.8

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.reset()

Восстановить шаблон конвейера до его начального состояния.

Template.clone()

Возвращает новый, эквивалентный шаблон конвейера.

Template.debug(flag)

Если flag имеет значение true, включить отладку. В противном случае, выключить отладку. При включенной отладке команды, которые будут выполняться, выводятся на экран, и оболочке предоставляется 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–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.8/library/pipes.html

Spec-Zone.ru

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