Ho incontrato un problema abbastanza semplice che non riesco a trovare una soluzione elegante per.
Sto creando una stringa utilizzando str.format
in una funzione che viene passata in una dict
di sostituzioni da utilizzare per il formato. Voglio creare la stringa e formattarla con i valori se sono passati e li lasciare in bianco il contrario.
Ex
kwargs = {name: mark}
My name is {name} and I'm really {adjective}..format(**kwargs)
dovrebbe restituire
My name is mark and I'm really .
invece di buttare un KeyError
(Che è quello che accadrebbe se non facciamo nulla).
Imbarazzante, non riesco nemmeno a trovare una soluzione poco elegante per questo problema. Credo che avrei potuto risolvere questo problema semplicemente non si usa str.format
, ma io preferisco usare il built-in (che in gran parte quello che voglio), se possibile.
Nota: Non so in anticipo quali saranno utilizzati chiavi. Sto cercando di non riuscire con grazia se qualcuno comprende una chiave, ma non metterlo nel dict kwargs. Se avessi saputo con precisione del 100% quello che le chiavi sarebbe alzò gli occhi, avevo appena popolano tutti loro e da fare con esso.