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中的多线程实例教程
Aug 27 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
Jan 20 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
详解Django+Uwsgi+Nginx的生产环境部署
Jun 25 Python
查看python下OpenCV版本的方法
Aug 03 Python
python编程使用协程并发的优缺点
Sep 20 Python
Django 视图层(view)的使用
Nov 09 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 Python
Python DES加密实现原理及实例解析
Jul 17 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文件操作的详细诠释
2013/06/21 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
python中的多重继承实例讲解
2014/09/28 Python
TensorFlow实现Logistic回归
2018/09/07 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
军训教官感言
2014/03/02 职场文书
中国入世承诺
2014/04/01 职场文书
初中班主任评语
2014/04/24 职场文书
羽毛球比赛策划方案
2014/06/13 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
MySQL开启事务的方式
2021/06/26 MySQL