Wie in Datei einen Zahlenwert erhöhen ? - Newbie fragt

Josef b-707 at web.de
Di Jan 22 08:33:46 EST 2019


Hier ist Ausschnitt aus GPX-Datei:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<gpx version="1.0" creator="CanWay - http://www.canwaygps.com" 
<time>2016-09-28T22:19:56Z</time>
<bounds minlat="47.666017" minlon="11.851379" maxlat="47.672462"
maxlon="11.886779" />
<trk>
<name>2016-09-15_obere-firstalm_gehen-6,5km</name>
<trkseg>
<trkpt lat="47.671193" lon="11.886518">
<ele>1115.6</ele>
<time>2016-09-15T11:57:44Z</time>
<speed>0.2</speed>
</trkpt>
<trkpt lat="47.670686" lon="11.886412">
<ele>1117.6</ele>
<time>2016-09-15T11:58:14Z</time>
<speed>0.3</speed>
</trkpt>
<trkpt lat="47.670821" lon="11.886459">
<ele>1055.6</ele>
<time>2016-09-15T11:58:44Z</time>
<speed>0.4</speed>
</trkpt>

Problem:
Ich will die Höhenwerte (float zwischen <ele> und </ele> um 30
erhöhen.
Beispiel alt:
<ele>1115.6</ele>
Beispiel neu:
<ele>1145.6</ele>

Folgender Code funktioniert nicht:
import re
f1 = raw_input("GPX-Datei eingeben: ")
f1 = open(f1)
for line in f1:
    res = re.search(r"<(ele)>(.+)</\1>",line)
    if res:
        #print res.group(2)
        number=float(res.group(2))
        number_elev=number+20
        number_elev=str(number_elev)
        res = re.sub(res.group(2),number_elev,str)       
f1.close()
print "OK"

Wo liegt der Fehler?
Bitte um / thx vorab für Hinweise.
Josef


Mehr Informationen über die Mailingliste python-de