112 votes

Désactiver les assertions en Python

Comment désactiver les assertions en Python? C’est-à-dire que si cela échoue, je ne veux pas qu’il jette une AssertionError, mais continue.

63voto

Mark Rushakoff Points 97350

Appelez Python avec le drapeau -O:

test.py:

 assert(False)
print 'Done'
 

Sortie:

 C:\temp\py>C:\Python26\python.exe test.py
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    assert(False)
AssertionError

C:\temp\py>C:\Python26\python.exe -O test.py
Done
 

16voto

Michael Currie Points 340

Les deux les deux réponses déjà données sont valides (appel python avec l'option-O ou -OO, respectivement, sur la ligne de commande).

Ici est la différence entre eux:

  • -O Tour sur la base des optimisations. Cela modifie l'extension de nom de fichier pour compilé en bytecode) des fichiers .pyc pour .pyo.

  • -OO Jetez docstrings en outre à l' -O optimisations.

(à partir de la documentation python)

8voto

John Millikin Points 86775

Utilisez python -O :

 $ python -O
>>> assert False
>>>
 

2voto

FogleBird Points 23405

Courir en mode optimisé devrait le faire.

 python -OO module.py
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X