En python, puis-je rediriger la sortie de la fonction d'impression à la sortie stderr?
Il y a beaucoup de print
fonction (python 2.7
) dans mon programme. Est-il possible que je peux ajouter quelques lignes de toutes les données de sortie peuvent être redirigé vers stderr
? Ce que je veux, c'est python codes, mais pas linux pipeline.
Par exemple, mon programme est:
print 'hello world'
Je voudrais ajouter des codes comme:
redirect_output_to_stderr()
print 'hello world'
Alors toutes les données de sortie peuvent être redirigé vers stderr
.
Je sais print >> sys.stderr, 'hello world'
peuvent atteindre mon objectif, mais est-ce une façon qui puisse empêcher de modifier le existé codes?
Le moyen sans modifier le code est l'utilisation d'un shell de commandes de redirection.
Oh, je suppose que ce que j'ai besoin est la prévention de l'modifié le existé
Oh, je suppose que ce que j'ai besoin est la prévention de l'modifié le existé
print
fonctions. Merci de mentionner que 🙂
OriginalL'auteur waitingkuo | 2013-04-07
Vous devez vous connecter pour publier un commentaire.
Le faire dans votre méthode:
OriginalL'auteur MostafaR
En python 2.7 vous pouvez faire:
Ou vous pouvez importer le comportement de 3.x:
OriginalL'auteur Roland Smith
Redéfinition de
print
est caractéristique de Python 3+. Toutefois, vous pouvez modifiersys.stdout
àstd.stderr
.Voir: une autre question
print
en 2.7 si vous nefrom __future__ import print_function
.Ne le savais pas. Encore un changement de
stdout
est plus courte que la fonction de redéfinition.OriginalL'auteur kravemir