Souvent, les bibliothèques tierces impriment des informations sur la sortie standard pendant l'exécution. Bien que cela puisse être utile pour le débogage, cela peut également encombrer la sortie et perturber d'autres processus. Pour prendre le contrôle de cette sortie, envisagez d'utiliser un gestionnaire de contexte pour la capturer.
from io import StringIO <br>import sys</p> <p>class Capture (liste) :</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">def __enter__(self): self._stdout = sys.stdout sys.stdout = self._stringio = StringIO() return self def __exit__(self, *args): self.extend(self._stringio.getvalue().splitlines()) del self._stringio # free up some memory sys.stdout = self._stdout
Pour capturer la sortie dans un bloc de code spécifique :
<code class="python">with Capturing() as output: do_something(my_object)</code>
Après le bloc, la variable de sortie contiendra une liste de toutes les lignes imprimées sur la sortie standard.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!