[Python] Trovare un'occorrenza in un file e sostituire un valore

simozack simozack a yahoo.it
Lun 25 Gen 2010 16:50:14 CET


Il 25 gennaio 2010 15.20, Lorenzo Macchiavelli
<lmacchiavelli a gmail.com> ha scritto:

> So che magari può sembrare banale... ma sto cercando di capire
> quale tipo di approccio userebbe un programmatore esperto!!

Io invece userei strip e split, ovvero:

for rec in record: # puoi farlo con readlines ecc.
	var = rec.split(':')[1].strip('ABR')
	ris = int(var) * 11
	print "%s:%s%s" %(rec.split(':')[0], ris, 'RB')

Ovviamente ho fatto il print, basta scriverlo in un file e sei apposto.

Volendo c'è anche la oneline:

>>> risultato = [':'.join([x.split(':')[0], str(int(x.split(':')[1].strip('ABR'))*11), 'RB']) for x in record]
>>> print risultato
['RTS_YAS:113223:RB', 'RTC_YAS:11033:RB', 'RTS_YAS:110033:RB']

Ma è veramente una cosa brutta... :D

Ah, non sono un programmatore esperto - ed in effetti non credo sia
molto efficiente -, ma il VeroProgrammatore in realtà è quello che
buca le schede perforate con lo sguardo (cit) :D

Ciao,
Simone


Maggiori informazioni sulla lista Python