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高效编程技巧
Jan 07 Python
python抓取京东商城手机列表url实例代码
Dec 18 Python
利用Python学习RabbitMQ消息队列
Nov 30 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
Python之list对应元素求和的方法
Jun 28 Python
对python sklearn one-hot编码详解
Jul 10 Python
python的几种矩阵相乘的公式详解
Jul 10 Python
使用虚拟环境打包python为exe 文件的方法
Aug 29 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
python中HTMLParser模块知识点总结
Jan 25 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
生成缩略图
2006/10/09 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
php 404错误页面实现代码
2009/06/22 PHP
php 小乘法表实现代码
2009/07/16 PHP
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
Python jieba库用法及实例解析
2019/11/04 Python
解决Python使用列表副本的问题
2019/12/19 Python
Python 中@property的用法详解
2020/01/15 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
基于python实现操作git过程代码解析
2020/07/27 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
幼儿园大班教师随笔
2015/08/14 职场文书
php中pcntl_fork详解
2021/04/01 PHP
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js