17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

242<br />

La bibliothèque standard<br />

TROISIÈME PARTIE<br />

stdin : attribut pointant sur l’entrée standard du processus enfant.<br />

stdout : comme stdin, pour la sortie standard.<br />

stderr : comme stdin, pour la sortie d’erreur standard.<br />

pid : pid du processus enfant.<br />

returncode : code de retour du processus enfant. Si returncode vaut None, le<br />

processus enfant n’a pas terminé. Renvoie -n sous Unix pour le code de retour n.<br />

La création d’une instance de Popen peut prendre une multitude d’options :<br />

Popen(args, bufsize=0, executable=None, stdin=None, stdout=None,<br />

stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None,<br />

env=None, universal_newlines=False, startupinfo=None, creationflags=0)<br />

args contient la commande à lancer et est sous la forme d’un objet string ou une<br />

séquence d’objets string en fonction du paramètre shell.<br />

Si le paramètre shell est à False, args doit être une séquence dont le premier élément<br />

est la commande à lancer et les suivants les paramètres de la commande. Une<br />

string sera alors automatiquement traduite en une séquence d’un élément.<br />

Si le paramètre shell est à True, la commande complète peut être contenue dans un<br />

objet string. Si une séquence est passée, le premier élément sera pris comme commande<br />

et les suivants comme arguments shell supplémentaires.<br />

MS-Windows fonctionne différemment pour la lecture de la commande : si args est<br />

une séquence, et ce quelle que soit la valeur de shell, le système demandera une conversion<br />

vers un objet string avec la méthode list2cmdline.<br />

bufsize fonctionne de la même manière que la primitive open() :<br />

0 : pas de tampon ;<br />

1 : tampon ligne ;<br />

n : avec n > 1, taille du tampon.<br />

executable permet de définir le programme à exécuter et se place en amont de args.<br />

Reste à None en général, ou contient le chemin vers un shell particulier. Popen utilise<br />

en temps normal le shell par défaut, soit /bin/sh sous Unix et celui spécifié dans la<br />

variable d’environnement COMSPEC sous MS-Windows.<br />

stdin, stdout et stderr définissent les trois flux standards du processus, à savoir<br />

l’entrée, la sortie et la sortie d’erreur.<br />

Peuvent prendre une des valeurs suivantes pour la redirection :<br />

subprocess.PIPE : création d’un nouveau pipe ;<br />

un descripteur de fichier ;<br />

un objet fichier ;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!