[pyar] cannot concatenate 'str' and 'NoneType' objects
Claudio Freire
klaussfreire en gmail.com
Vie Feb 15 16:52:17 ART 2013
2013/2/15 Roberto Alsina <ralsina en netmanagers.com.ar>:
> On 15/02/13 16:35, Claudio Freire wrote:
>> 2013/2/15 Roberto Alsina <ralsina en netmanagers.com.ar>:
>>> Y hacer lo correcto:
>>>
>>> logger.info("Mi cadenita %r" % aValue)
>>>
>>> o usar un formato.
>> Me parece que querés decir:
>>
>> logger.info("Mi cadenita %r", aValue)
>
> se'gual (en cuanto al resultado final)
Para nada.
Invocar al operador de formato así, puede romper:
>>> aValue = (2,3)
>>> "Mi cadenita %r" % aValue
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting
Se puede arreglar:
>>> aValue = (2,3)
>>> "Mi cadenita %r" % (aValue,)
'Mi cadenita (2, 3)'
Pero también puede romper, si repr(aValue) rompe:
>>> class ClaseMuyChota:
... def __repr__(self):
... raise ValueError, "Ja!"
...
>>> aValue = ClaseMuyChota()
>>> logging.info("Mi cadenita %r" % (aValue,))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in __repr__
ValueError: Ja!
>>>
Como DEBE usarse logging, no rompe (y una aplicación NUNCA tiene que
romper sólo porque quiere loguear):
>>> logging.info("Mi cadenita %r", aValue)
>>>
More information about the pyar
mailing list