pipes
— Interface au pipelines shell¶
Code source : Lib/pipes.py
Le module pipes
définit une classe permettant d'abstraire le concept de pipeline --- une séquence de convertisseurs d'un fichier vers un autre.
Du fait que le module utilise les lignes de commandes /bin/sh, un shell POSIX ou compatible est requis pour os.system()
et os.popen()
.
Le module pipes
définit la classe suivante :
-
class
pipes.
Template
¶ Une abstraction d'un pipeline.
Exemple :
>>> 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'
L'Objet Template¶
Les méthodes de l'objet Template :
-
Template.
reset
()¶ Réinitialise un modèle de pipeline à son état initial.
-
Template.
clone
()¶ Renvoie un nouveau modèle de pipeline, équivalent.
-
Template.
debug
(flag)¶ Si flag est vrai, active le débogage. Sinon, le désactive. Quand le débogage est actif, les commandes à exécuter seront affichée et le shell est pourvu de la commande
set -x
afin d'être plus verbeux.
-
Template.
append
(cmd, kind)¶ Ajoute une nouvelle action à la fin. La variable cmd doit être une commande bourne shell valide. La variable kind est composée de deux lettres.
La première lettre peut soit être
'-'
(qui signifie que la commande lit sa sortie standard), soit'f'
(qui signifie que la commande lit un fichier donné par la ligne de commande), soit'.'
(qui signifie que la commande ne lit pas d'entrée, et donc doit être la première.)De même, la seconde lettre peut soit être
'-'
(qui signifie que la commande écrit sur la sortie standard), soit'f'
(qui signifie que la commande écrit sur un fichier donné par la ligne de commande), soit'.'
(qui signifie que la commande n'écrit rien, et donc doit être la dernière.)
-
Template.
prepend
(cmd, kind)¶ Ajoute une nouvelle action au début. Voir
append()
pour plus d'explications sur les arguments.
-
Template.
open
(file, mode)¶ Renvoie un objet file-like, ouvert à file, mais permettant d'écrire vers le pipeline ou de lire depuis celui-ci. À noter que seulement un des deux ('r' ou 'w') peut être donné.
-
Template.
copy
(infile, outfile)¶ Copie infile vers outfile au travers du pipe.