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笔记(叁)继续学习
Oct 24 Python
Python中optionParser模块的使用方法实例教程
Aug 29 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
python实现自动登录
Sep 17 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
使用Python函数进行模块化的实现
Nov 15 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
Python networkx包的实现
Feb 14 Python
keras topN显示,自编写代码案例
Jul 03 Python
使用Python pip怎么升级pip
Aug 11 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 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
德生H-501的评价与改造
2021/03/02 无线电
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
万能的php分页类
2017/07/06 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
JavaScript闭包相关知识解析
2019/10/19 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
pip install urllib2不能安装的解决方法
2018/06/12 Python
Sanic框架流式传输操作示例
2018/07/18 Python
学python安装的软件总结
2019/10/12 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
2020/05/25 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
八一慰问活动方案
2014/02/07 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
高中运动会前导词
2015/07/20 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
使用Pytorch训练two-head网络的操作
2021/05/28 Python
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python