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采集腾讯新闻实例
Jul 10 Python
搞笑的程序猿:看看你是哪种Python程序员
Jun 12 Python
Python的Django框架下管理站点的基本方法
Jul 17 Python
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
简单实现Python爬取网络图片
Apr 01 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
python Tcp协议发送和接收信息的例子
Jul 22 Python
python实现操作文件(文件夹)
Oct 31 Python
Python 字符串池化的前提
Jul 03 Python
利用Python发送邮件或发带附件的邮件
Nov 12 Python
Python实现随机生成迷宫并自动寻路
Jun 13 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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
js中生成map对象的方法
2014/01/09 Javascript
js读写json文件实例代码
2014/10/21 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
python实现分页效果
2017/10/25 Python
Python代码实现KNN算法
2017/12/20 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
关于python中remove的一些坑小结
2021/01/04 Python
python palywright库基本使用
2021/01/21 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
出国留学介绍信
2014/01/13 职场文书
生活部的活动方案
2014/08/19 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
JavaScript 对象创建的3种方法
2021/11/17 Javascript
关于Python使用turtle库画任意图的问题
2022/04/01 Python