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 Comment puis-je supprimer les erreurs? P> p>
4 Réponses :
rediriger stardr à / dev / null code>.
python somescript.py 2> /dev/null
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 code>
Dépend. Vous écrivez le programme?
Juste une suppose, vous pouvez mettre le code fautif à l'intérieur d'un essayer / sauf code> 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.
ne pas attraper le travail HTMLparseError pour vous? Si Voici un exemple de révision de cette erreur. Vous voudrez peut-être le modifier un peu pour correspondre à votre code. P> test.py code> est le nom de votre fichier Python, il est propagé jusqu'à présent.
import sys
class DevNull:
def write(self, msg):
pass
sys.stderr = DevNull()
Quand je n'ai rien donné comme sauf code> argument, cela a fonctionné. Mais quand j'ai donné
sauf HTMLPARSEEERROR: CODE> AM Obtenir une erreur
NomError: Nom 'HTMLPARSEEError' n'est pas défini. Alors, comment puis-je savoir la chose exacte d'erreur? code>
Ensuite, vous devriez attraper htmlparser.htmlparseerror code> ou importez-le explicitement avec
à partir de HTMLPARSER Import HTMLPARSEERROR code>.
Oh merci. Je ne pouvais pas comprendre le message d'erreur. Mais lorsque j'ai donné à partir de HTMLPARSER Import HTMLPARSEERROR CODE> Cela a fonctionné. Mais quand j'ai donné
htmlparser.htmlparserror code>, il a donné l'erreur
attributeError: Class HTMLParser n'a aucun attribut 'HTMLPARSEserror' code>. Pourquoi est-ce tellement?
Vous avez probablement eu un à partir de HTMLPARSER Import HTMLPARSER CODE> 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?
dans Python 3, la réponse de @boaz Yaniv peut être simplifiée comme puisque chaque classe de Python3 est héritée de objet code>, donc techniquement cela fonctionnerait, à moins je l'ai essayé par moi-même dans Python 3.6.5 Environnement. p> p>
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()