Python编写简单的HTML页面合并脚本
短信预约 -IT技能 免费直播动态提醒
最近写一个BootStrap页面...因为功能需要所以决定一个页面解决所有问题,然后用jQuery来动态显示功能....然而这样做的话页面会相当庞大,一堆隐藏模态窗口和功能div都堆在一起看起来挺难受的
然后想了下就用Python写了个小脚本用来支持<include>标签,用处是合并外部html文件,来强行分文件编写单个庞大的HTML页面
用了下感觉挺好用的,分享给大家
使用方法:
HTML中使用<include class="lazy" data-src="">标签来导入其他HTML代码。支持嵌套替换(如A页面嵌套B页面,B页面嵌套C页面)。但是请小心循环嵌套(A页面嵌套B页面,B页面嵌套A页面),会导致死循环
主页面为默认处理页面为index.html,生成合并页面为newhtml.html
具体代码如下
import codecs
import webbrowser
import sys
charset = "utf-8" #文件编码
#读取text里的<include>标签及class="lazy" data-src属性中的文件,替换原标签
def replaceInclude (filename,text):
try:
posA = text.find("<include")
while posA!= -1:
posC = text.find(">",posA)
tag = text[posA:posC+1]
posA = text.find("class="lazy" data-src=",posA)
posA += 5
posB = text.find(""",posA)
file = text[posA:posB]#获取class="lazy" data-src中的文件名
print ("正在处理:",file)
tmpFile = codecs.open(file,"r",charset)
tmpText = tmpFile.read()
tmpText = replaceInclude(file,tmpText)#递归处理文件嵌套后的include标签
text = text.replace(tag,tmpText)
tmpFile.close()
posA = text.find("<include")
return text;
except Exception as e:
print ("错误:文件",filename,"中的",file,"处理失败!错误信息:n",e)
sys.exit(1)
readFile = codecs.open("index.html","r",charset)
writeFile = codecs.open("newhtml.html","w",charset)
try:
text = readFile.read()
text = replaceInclude("index.html",text)
writeFile.write(text)
webbrowser.open("newhtml.html")
finally:
readFile.close()
writeFile.close()</pre>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341