問題,我昨天在這裏發表問題:Finding and adding to a .kml file using python的Python,修改文本文件,搜索方面
我讀了一堆教程,現在有了更好的理解蟒蛇,這是很好的。但我似乎仍然無法讓我的劇本正確。我知道我非常接近。基本上我想添加一堆JPG到一個.kml文件,它基本上是谷歌地球上的.xml文件。我希望我的程序能夠在名爲 的XML文件中找到谷歌地球「地標」:TO-XXX
其中XXX與TO-XXX.jpg匹配。我已經有一個包含一堆.jpgs的文件夾,其文件名與每個地標的名稱相匹配。我需要的程序找到
<name> (for example <name>TO-101</name>)
,並添加正確的用名行下方的行:
<description> <img src=TO-101.jpg></description>.
所以,我的代碼寫的,但我似乎無法得到它找到了。這始終是寫:
"\t\t\t<name>TO-XXX</name>\n".
所以,這裏是代碼:
import os
infile = 'TO-Hand-Holes2.kml' # the file I am reading
outfile = 'TO-Hand-Holes-Output.kml' # the file I plan to write to, using print for now
images = os.listdir("./images") # the images folder, all image names match names
source = open(infile, 'r')
target = open(outfile, 'w')
x = 0 #an incrementer
i = 0 # an incrementer
readxml = source.readline
while x < 20000: #There are about 17,000 lines in the .kml file
readxml = source.readline()
while i < len(images):
word = images[i]
if readxml == "\t\t\t<name>%s</name>\n" % word[:6]: #!!!!!!!!! the problem is here
print readxml #output the <name>
print word[:6] #output the <description>
hit = 'true'
i = i + 1
else:
hit = 'false'
#print "test%s" % word[:6]
i = i + 1
if hit == 'false':
print ("%s") % readxml
x = x + 1
我似乎無法得到它的識別線。有什麼建議麼?
可以保證格式/縮進顯示是你實際上使用的是什麼?如果是這樣,這應該不是真的很有用。你的第一個while循環沒有任何執行(它下面沒有縮進塊)。另外,如果它的設置與上面一樣,則在嘗試處理其中的任何一行之前,請先閱讀20000行。 –
oops,它沒有粘貼正確,其餘的代碼行實際上是在while
renosis
當你說不識別時,你的意思是'readxml =='上的匹配嗎?\ t \ t \ t%s \ n「%word [:6]'不工作或者沒有輸出?在後一點上,我沒有看到你寫入輸出文件的任何地方。你需要像這樣的東西:'print >> target,word [:6]',假設python 3.0之前。 –
hughdbrown