我可以逐行更改文件中的文本,但我不知道如何将结果(更改)写入文件。你知道吗
这是我文件的一小部分:
<name>2016-09-15_obere-firstalm_gehen-6,5km</name>
<extensions>
<line xmlns="http://www.topografix.com/GPX/gpx_style/0/2">
<color>000000</color>
</line>
</extensions>
<trkseg>
<trkpt lat="47.671193" lon="11.886518">
<ele>1115.6</ele>
<time>2016-09-15T11:57:44Z</time>
</trkpt>
<trkpt lat="47.670686" lon="11.886412">
<ele>1117.6</ele>
<time>2016-09-15T11:58:14Z</time>
</trkpt>
<trkpt lat="47.670821" lon="11.886459">
<ele>1055.6</ele>
<time>2016-09-15T11:58:44Z</time>
</trkpt>
使用Python脚本,我通过添加30来更改高程值。 例子: 变更前: 标高(ele)1115.6, 变更后: 标高(ele)1145.6
#This little Python adds 30 to elevation:
import re
f1 = raw_input("name of your GPX file: ")
f1 = open(f1,'r+')
for line in f1:
res = re.search(r"<(ele)>(.+)</\1>",line)
if res:
number=float(res.group(2))
number_elev=number+30
number_elev=str(number_elev)
ress = re.sub(r"<(ele)>(.+)", r"\2",number_elev)
#print shows correct new values between <ele> and </ele>
print ress + "\n"
###but how to write into the gpx file these changes?
f1.close()
print "OK"
应为:使用更改的行写入文件。 实际情况:我不知道如何将regexp的更改写入文件。 谢谢你的帮助。你知道吗
不要试图同时读写同一个文件。只需创建和输出文件并写入即可。你知道吗
以下代码未经测试,但应该可以运行。你知道吗
您可以一次读取所有文件,并将regex应用于数据,然后将修改后的数据写入另一个文件,如下所示:
您首先需要读取文件中的所有行,并将每一行写入文件,替换与regex搜索匹配的行。 另外,由于一个或多个
<ele>..</ele>
标记序列可以在同一行中,因此您需要找到该行中出现的所有标记序列,并相应地替换它们。你知道吗相关问题 更多 >
编程相关推荐