Powiedz, że mam słownik z kropkami w nazwach pól, np. {'person.name': 'Joe'}
. Jeśli chciałem użyć tego w str.format
, czy to możliwe?python: kropki w nazwie zmiennej w ciągu formatu
Moim pierwszym odruchem było
'Name: {person.name}'.format(**{'person.name': 'Joe'})
ale to będzie działać tylko wtedy, gdy mój DICT zostały kształcie
{'person':{'name':Joe}}
The relevant manual docs section nie wspomina zresztą o ucieczce do kropki.
(Sidenote: Myślałem, że generalnie
def func(**kw): print(kw)
func(**{'a.b': 'Joe'})
spowodowałoby błąd, ale **
-expanded wywołanie funkcji wydaje się działać, nawet jeśli są one nie ważnych identyfikatorów To robi error out! . na nie-strun choć o_O)
Czy próbowałeś uciec kropki z ukośnikiem odwrotnym? –
@RafeKettler: Tak. To nie działa, ponieważ uciekasz przed ciągiem, a nie specyfikatorem formatu. – nfirvine
Możliwy duplikat [Jak używać kropki w ciągach w formacie Python?] (Http://stackoverflow.com/questions/29035168/how-to-use-a-dot-in-python-format-strings) –