Translate

mercredi 24 janvier 2018

[ PYTHON ] - Afficher le résultat de la fonction "Help" dans un fichier

En Python la fonction "Help" est très utile car elle vous permet d'avoir de l'aide (d'ou son nom) sur : une fonction, une classe etc... Mais le problème c'est qu'elle n'affiche le résultat qu'à l'écran et qu'il puisse arriver que vous vouliez garder ce résultat pour vous constituer une base de donnée ou l'envoyer à quelqu'un, ou encore pour écrire l'article d'un blog ;-)

Mais il faut savoir qu'en Python (et d'autres langages) vous avez la possibilité de rediriger les flux d'entrée et sortie d'une autre manière que celle qui est prévue par défaut. Les flux que vous pouvez rediriger sont : Entrée (Clavier....) Sortie (Ecran...) et Erreur.

Nous allons donc rediriger le flux de sortie par défaut qui est l'écran, directement dans un fichier texte. Puis ensuite nous appellerons la fonction "Help". Pour cela nous allons devoir utiliser le module "sys". Voici le code que je place dans une fonction qui prend en argument le mot-clé sur lequel je veux faire un "help":




Je stocke d'abord la sortie dans une variable tampon (old_stdout) pour que je puisse la récupérer ensuite en cas de besoin. Puis je dis que sys.stdout (c'est à dire la sortie standard actuelle) correspond à un fichier texte que j'ouvre. en mode écriture "w". (en lui donnant comme nom le mot-clé de ma recherche).

Il ne me reste plus qu'à appeler ma fonction en lui donnant en argument le mot-clé pour lequel je veux récupérer l'aide. Voici le résultat du fichier texte sur la capture suivante :




Comme vous le voyez, c'est très simple. Vous pouvez faire la même chose pour le flux d'entrée (Votre clavier) mais cette fois ce sera avec sys.stdin ou encore rediriger les erreurs avec sys.stderr.


2 commentaires: