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计算圆周长、面积、球体体积并画出圆
Apr 08 Python
Python实现发送email的几种常用方法
Aug 18 Python
Python命令行参数解析模块getopt使用实例
Apr 13 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
Python sqlite3事务处理方法实例分析
Jun 19 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
在python 中实现运行多条shell命令
Jan 07 Python
Django给admin添加Action的步骤详解
May 01 Python
pandas.cut具体使用总结
Jun 24 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
Django中的静态文件管理过程解析
Aug 01 Python
通过Python编写一个简单登录功能过程解析
Sep 04 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中通过curl检测页面是否被百度收录
2013/09/27 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
jquery uaMatch源代码
2011/02/14 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
python 多个参数不为空校验方法
2019/02/14 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
Python接收手机短信的代码整理
2020/08/02 Python
Python远程linux执行命令实现
2020/11/11 Python
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
制定岗位职责的原则
2013/11/08 职场文书
陈欧广告词
2014/03/14 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
中国梦口号
2014/06/13 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
无罪辩护词范文
2015/05/21 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
暑假生活随笔
2015/08/15 职场文书
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript