Pour décrire le flux de sortie d'erreur standard dans le code Python
from sys import stderr
stderr
Et comment écrire
import sys
sys.stderr
Il existe deux manières d'écrire. Pas seulement stderr, mais toutes les importations. Eh bien, comment les utiliser correctement. Outre le fait que le premier a des performances légèrement meilleures lorsqu'il est utilisé dans une boucle, il existe une différence sémantique.
Ce qui se passe, c'est que lorsque j'essaie de remplacer la destination de sortie en utilisant contextlib.redirect_stderr
pour les tests unitaires, dans le premier cas, si le module est déjà chargé, la référence à stderr est confirmée ** remplacement Ne marche pas **. Dans ce dernier cas, le stderr est acquis à partir de sys pour la première fois lorsque le processus est exécuté, donc ** le remplacement est effectif **.
Puisque la fonction d'impression simple peut être activée avec contextlib.redirect_stdout
, on peut dire que c'est l'opération pour obtenir stdout de sys sur place à chaque fois, donc si vous voulez faire correspondre le comportement à cela, veuillez décrire ce dernier. Ça va être bien.