Devo prendere una stringa contenente segnaposto per la sostituzione successiva, come:
"A %s B %s"
E trasformalo in:
"A {0} B {1}"
Mi è venuta in mente:
def _fix_substitution_parms(raw_message):
rv = raw_message
counter = 0
while '%s' in rv:
rv = rv.replace('%s', '{' + str(counter) + '}', 1)
counter = counter + 1
return rv
Funziona, ma sembra un python super goffo e per niente "idiomatico".
Come sarebbe una soluzione idiomatica di pitone?
Aggiornamenti per chiarimenti:
- le stringhe risultanti non vengono utilizzate in Python. Io faccio bisogno dei numeri del contatore in là! (quindi
{}non è abbastanza buono)! - Ho solo bisogno di preoccuparmi delle
%sstringhe, dato che i messaggi sono sicuri di usare solo%s(no%i %f)