warning traduccion quitar ingles examples espaƱol eliminar ejemplos python warnings

python - traduccion - Imprime solo el mensaje en advertencias



warnings examples (4)

Estoy emitiendo muchas advertencias en un validador, y me gustaría suprimir todo en la salida estándar excepto el mensaje que se proporciona a warnings.warn() .

Es decir, ahora veo esto:

./file.py:123: UserWarning: My looong warning message some Python code

Me gustaría ver esto:

My looong warning message

Edición 2: Al anular las warnings.showwarning() Shwarwarning warnings.showwarning() resultó funcionar:

def _warning( message, category = UserWarning, filename = '''', lineno = -1): print(message) ... warnings.showwarning = _warning warnings.warn(''foo'')


Esto es lo que estoy haciendo para omitir solo la línea del código fuente. Esto es, en general, como lo sugiere la documentación, pero fue un poco difícil averiguar qué cambiar exactamente. (En particular, traté de varias maneras de mantener la línea de origen fuera de showwarnings pero no pude hacer que funcionara como quería).

# Force warnings.warn() to omit the source code line in the message formatwarning_orig = warnings.formatwarning warnings.formatwarning = lambda message, category, filename, lineno, line=None: / formatwarning_orig(message, category, filename, lineno, line='''')

El simple paso de la line=None haría que Python usara el filename y lineno para calcular un valor para la line automática, pero al pasar una cadena vacía se corrige eso.



Siempre hay monkeypatching:

import warnings def custom_formatwarning(msg, *args, **kwargs): # ignore everything except the message return str(msg) + ''/n'' warnings.formatwarning = custom_formatwarning warnings.warn("achtung")