[Python] Trovare un'occorrenza in un file e sostituire un valore
Alessandro Dentella
sandro a e-den.it
Lun 25 Gen 2010 16:06:42 CET
On Mon, Jan 25, 2010 at 03:20:32PM +0100, Lorenzo Macchiavelli wrote:
> Salve a tutti qualcuno può aiutarmi??
> Dovrei fare un find and replace in py un pò avanzato("" Per ME!!!"")
>
> del tipo: Quando è presente la stringa di tipo "AB" Devo Sostituire i valori
> all'intero tra i " : " e " AB " moltiplicando per 11
> il valore all'interno e sostituire la stringa "AB" CON "RB".
>
> Il File è formattato in questo modo:
> ...
> RTS_YAS:10293AB
> RTC_YAS:1003AB
> RTS_YAS:010003RB
> ...
>
> ESEMPIO: " RTS_YAS:10293AB " diventa "RTS_YAS:113223RB"
>
> Qualcuno può spiegarmi come fare??? quale ragionamento fareste per risolvere
> questo tipo di problema??
usa il modulo 're' ed in particolare guarda re.sub e sappi che il valore da
sostituire può essere una funzione che a sua volta riceverà in argomento il
match::
"""\
RTS_YAS:10293AB
RTC_YAS:1003AB
RTS_YAS:010003RB
"""
import re
# a scopo didattico mostro sia gruppi con nome che non
PATTERN = re.compile('(RTS_YAS:)(?P<num>\d+)AB')
def my_sub(m):
return "%s%sRB" % (m.group(1), int(m.group('num')) * 11,)
for line in __doc__.split():
if PATTERN.match(line):
print line,
print " ==>", PATTERN.sub(my_sub, line)
sandro
*:-)
--
Sandro Dentella *:-)
http://sqlkit.argolinux.org SQLkit home page - PyGTK/python/sqlalchemy
Maggiori informazioni sulla lista
Python