使用python查找并添加到.kml文件

时间:2011-08-04 16:02:10

标签: python text string-parsing

我不是一个很好的程序员。但我真的想要自动完成我在工作中必须做的事情。基本上,我在谷歌地球上有一堆地方标记显示市政光纤网络的手孔。我有一些每个手孔的图片,我想将它们作为标记放在.kml文件中。基本上,我想拥有它,所以当他们点击google earth中的地标时,它会显示小描述气泡并显示每个手孔的图片以及其他一些重要信息。

现在我将每个手孔标记为TO-。所以101号手孔有一个TO-101。我已经创建了一个脚本,重命名了所有图片以匹配名称。因此,如果手孔TO-101有3张图片,它们将是TO-101-1.jpg,TO-101-2.jpg,TO-101-3.jpg。

所以,基本上,我正在尝试创建一个读取kml文件的python脚本(我已成功完成)。我需要它来找到相应的TO-101或.kml文件中的任何一个手柄,在该行下面添加一行代码:

<description> <img src="TO-101-1.jpg"><img src="TO-101-2.jpg"></description>. 

需要为大约5000张照片和2000个左右的手孔做到这一点。

我试过这个:

import string, glob, sys, os, fileinput
f = open('./hand-holes.kml','r')

while f:
line = f.readline()
if line == "<name>TO-101</name>":
print line

我甚至无法找到它并打印出那条线。我知道该行在文件中,我知道路径是正确的。因为如果我注释掉if行==“TO-101”,它会显示文件的内容。所以,如果我甚至无法让它工作,我就没有机会让其余部分工作。我试过看几个搜索和替换类型python示例代码。其中一些使用字符串库,我不确定是否需要使用。

任何人都可以帮助我吗?感谢

Renosis

1 个答案:

答案 0 :(得分:0)

我假设你的if line == "<name>TO-101</name>"行不起作用的原因是因为它可能在它前面有空格。如果您将其更改为line.strip()== ...那么它可能会起作用。

您最好的选择是实现XML处理程序以读取现有文件,解析它并添加新部分。可以使用xml.sax

开始