Python编写简单的HTML页面合并脚本


Posted in Python onJuly 11, 2016

最近写一个BootStrap页面...因为功能需要所以决定一个页面解决所有问题,然后用jQuery来动态显示功能....然而这样做的话页面会相当庞大,一堆隐藏模态窗口和功能div都堆在一起看起来挺难受的 

然后想了下就用Python写了个小脚本用来支持<include>标签,用处是合并外部html文件,来强行分文件编写单个庞大的HTML页面 

用了下感觉挺好用的,分享给大家 

使用方法: 

HTML中使用<include 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>标签及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("src=",posA)
   posA += 5
   posB = text.find("\"",posA)
   file = text[posA:posB]#获取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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
实例讲解Python中浮点型的基本内容
Feb 11 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
Python用字典构建多级菜单功能
Jul 11 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
Python计算IV值的示例讲解
Feb 28 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
使用Python实现音频双通道分离
Dec 25 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
使用Python封装excel操作指南
Jan 29 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 Python
Python实现日志实时监测的示例详解
Apr 06 Python
Python中super()函数简介及用法分享
Jul 11 #Python
Swift中的协议(protocol)学习教程
Jul 08 #Python
Python中多线程的创建及基本调用方法
Jul 08 #Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 #Python
Python遍历目录中的所有文件的方法
Jul 08 #Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 #Python
使用Python读写及压缩和解压缩文件的示例
Jul 08 #Python
You might like
PHP程序员编程注意事项
2008/04/10 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python 3中的yield from语法详解
2017/01/18 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
一个入门级python爬虫教程详解
2021/01/27 Python
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
求职信结尾怎么写
2014/05/26 职场文书
好的旅游活动方案
2014/08/19 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
创业计划之特色精品店
2019/08/12 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
Oracle笔记
2021/04/05 Oracle
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL