6
votes

Python: supprimer des erreurs d'aller à la ligne de commande?

Lorsque j'essaie d'exécuter un programme Python de la ligne de commande, il donne l'erreur suivante. Ces erreurs ne posent aucun problème à mon iPut. Je ne veux pas qu'il soit affiché dans la commande xxx

Comment puis-je supprimer les erreurs?


0 commentaires

4 Réponses :


7
votes

rediriger stardr à / dev / null code>.

python somescript.py 2> /dev/null


5 commentaires

Y a-t-il une méthode de programmation de la manipulation. HTMLPARSER Donne une erreur en raison des balises malformées. Mais cela ne fait aucun problème pour moi. Y a-t-il une méthode utilisant essayer / attraper


Dépend. Vous écrivez le programme?


Juste une suppose, vous pouvez mettre le code fautif à l'intérieur d'un essayer / sauf bloc.


Oui j'écris le programme. Je veux couper les erreurs car elle n'affectera pas le tout


Ensuite, oui, vous attraperiez les exceptions comme expliquées dans le tutoriel Python.



9
votes

ne pas attraper le travail HTMLparseError pour vous? Si test.py code> est le nom de votre fichier Python, il est propagé jusqu'à présent.

Voici un exemple de révision de cette erreur. Vous voudrez peut-être le modifier un peu pour correspondre à votre code. P>

import sys

class DevNull:
    def write(self, msg):
        pass

sys.stderr = DevNull()


5 commentaires

Quand je n'ai rien donné comme sauf argument, cela a fonctionné. Mais quand j'ai donné sauf HTMLPARSEEERROR: AM Obtenir une erreur NomError: Nom 'HTMLPARSEEError' n'est pas défini. Alors, comment puis-je savoir la chose exacte d'erreur?


Ensuite, vous devriez attraper htmlparser.htmlparseerror ou importez-le explicitement avec à partir de HTMLPARSER Import HTMLPARSEERROR .


Oh merci. Je ne pouvais pas comprendre le message d'erreur. Mais lorsque j'ai donné à partir de HTMLPARSER Import HTMLPARSEERROR Cela a fonctionné. Mais quand j'ai donné htmlparser.htmlparserror , il a donné l'erreur attributeError: Class HTMLParser n'a aucun attribut 'HTMLPARSEserror' . Pourquoi est-ce tellement?


Vous avez probablement eu un à partir de HTMLPARSER Import HTMLPARSER dans votre code (donc la classe HTMLParser masqua le module HTMLParser). Vous n'avez pas posté le code ici, alors je poussions vraiment dans le noir. Quoi qu'il en soit, je vous suggère de lire le didacticiel Python sur modules et Exceptions


Oui j'avais. Alors, quel est le problème avec ça?



4
votes

dans Python 3, la réponse de @boaz Yaniv peut être simplifiée comme xxx

puisque chaque classe de Python3 est héritée de objet , donc techniquement cela fonctionnerait, à moins je l'ai essayé par moi-même dans Python 3.6.5 Environnement.


0 commentaires

1
votes

Voici une solution plus lisible et succincte pour gérer des erreurs sûres à ignorer, sans avoir à recourir au bloc de code Type / Saute / Pass / Pass.

from contextlib import suppress

with suppress(IgnorableErrorA, IgnorableErrorB):
    do_something()


0 commentaires