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 时间处理datetime实例
Sep 06 Python
python压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
Python3实现计算两个数组的交集算法示例
Apr 03 Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
Django之腾讯云短信的实现
Jun 12 Python
pytorch 计算Parameter和FLOP的操作
Mar 04 Python
python必学知识之文件操作(建议收藏)
May 30 Python
Python如何识别银行卡卡号?
Jun 10 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 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
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
php递归json类实例
2014/12/02 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
JavaScript判断输入是否为数字类型的方法总结
2017/09/28 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python异常处理操作实例详解
2018/08/28 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
自荐信范文
2013/12/10 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
结婚保证书范文
2014/04/29 职场文书
公司年会开场白
2015/06/01 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
百年校庆感言
2015/08/01 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL