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中实现结构相似的函数调用方法
Mar 10 Python
wxpython中自定义事件的实现与使用方法分析
Jul 21 Python
python2.7到3.x迁移指南
Feb 01 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 Python
python调用摄像头的示例代码
Sep 28 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
Nov 24 Python
总结三种用 Python 作为小程序后端的方式
May 02 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中常用编辑器推荐
2007/01/02 PHP
PHP 读取文件的正确方法
2009/04/29 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
html下载本地
2006/06/19 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
python实现获取Ip归属地等信息
2016/08/27 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
django自定义模板标签过程解析
2019/12/14 Python
Python实现结构体代码实例
2020/02/10 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
python eventlet绿化和patch原理
2020/11/21 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
2015年银行个人工作总结
2015/05/14 职场文书
微信搭讪开场白
2015/05/28 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
z-index不起作用
2021/03/31 HTML / CSS
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫