Digamos que tengo un diccionario con puntos en el nombre de los campos, como {'person.name': 'Joe'}
. Si quisiera usar esto en str.format
, ¿es posible?python: puntos en el nombre de la variable en una cadena de formato
Mi primer instinto fue
'Name: {person.name}'.format(**{'person.name': 'Joe'})
pero esto sólo funcionaría si mi dict tenían la forma de
{'person':{'name':Joe}}
The relevant manual docs section no menciona todas maneras de escapar del punto.
(Nota al margen: pensé que por lo general
def func(**kw): print(kw)
func(**{'a.b': 'Joe'})
causaría un error, pero la llamada a la función **
-EXPANDED parece funcionar incluso si son no identificadores válidos Se hace error fuera! . relativa a los no-strings aunque o_O)
¿Has intentado escapar del punto con una barra invertida? –
@RafeKettler: Sí. Eso no funciona porque lo está escapando por la cadena, no por el especificador de formato. – nfirvine
Posible duplicado de [Cómo usar un punto en cadenas de formato Python?] (Http://stackoverflow.com/questions/29035168/how-to-use-a-dot-in-python-format-strings) –