我有一个纯文本HTML文件,我正在尝试创建一个修改此文件的Python脚本。
其中一行写着:
var myLatlng = new google.maps.LatLng(LAT,LONG);
我有一个小小的Python脚本,可以抓住国际空间站的坐标。然后我想要它修改一个文件来添加纬度和经度。
是否可以使用RegEx并解析该行?我不喜欢解析整个文件。如果可能,最好使用哪个模块?我怎么指出那条线?
答案 0 :(得分:0)
如果我理解正确,您的HTML文件中包含您在上面写出的行。您希望将(LAT,LONG)部分替换为python脚本将找到的实际lat和long值。
如果这是正确的,那么我建议继续将HTML文件写入.txt文件:
import urllib
import time
while True:
open = urllib.urlopen(the_url_where_the_html_comes_from)
html = open.read()
my_file = open("file.txt","w")
my_file.write(html)
my_file.close()
#you don't need any fancy modules or RegEx to edit one unique line.
my_file = open("file.txt","r+")
text = my_file.read()
text.replace("LatLng(LAT,LONG)","LatLng("+lat_variable+","+long_variable+")")
real_text = text
my_file.close()
#now you want the change that you made to remain in that file
my_file = open("file.txt","w")
my_file.write(real_text)
my_file.close()
#if you check "file.txt", it should have those values replaced.
time.sleep(However long until the html updates)
我还没有测试过这段代码,所以请告诉我它是否有效!
编辑:如果HTML文件不断变化,那么您可以使用urllib模块进行更新。见上面的代码。
答案 1 :(得分:0)
非常感谢你的帮助。这个网站太棒了。
我使用了这里提供的信息并进行了一些阅读。我使用以下方法解决了这个问题:
#Open the html file for writing
o = open("index.html","w")
#Open the html template file, replace the variables in the code.
line in open("template"):
line = line.replace("$LAT",lat)
line = line.replace("$LON",lon)
#Write the variables to the index.html file
o.write(line + "\n")
#Close the file
o.close()
再次感谢