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使用正则表达式检测密码强度源码分享
Jun 11 Python
python爬虫正则表达式之处理换行符
Jun 08 Python
python dataframe 输出结果整行显示的方法
Jun 14 Python
详解python单元测试框架unittest
Jul 02 Python
python多个模块py文件的数据共享实例
Jan 11 Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 Python
python变量的存储原理详解
Jul 10 Python
python 如何去除字符串头尾的多余符号
Nov 19 Python
对python中assert、isinstance的用法详解
Nov 27 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 Python
Python字符串常规操作小结
Apr 03 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的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
python实现操作文件(文件夹)
2019/10/31 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
关于python中的xpath解析定位
2020/03/06 Python
html5 视频播放解决方案
2016/11/06 HTML / CSS
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
linux面试题参考答案(8)
2016/04/19 面试题
临床医学大学生求职信
2013/09/28 职场文书
开学典礼感言
2014/02/16 职场文书
捐书活动总结
2014/05/04 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
刑事法律意见书
2015/06/04 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
深入理解python协程
2021/06/15 Python