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 04 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
基于pandas数据样本行列选取的方法
Apr 20 Python
python实现log日志的示例代码
Apr 28 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
python进行文件对比的方法
Dec 24 Python
python中的列表与元组的使用
Aug 08 Python
python获取array中指定元素的示例
Nov 26 Python
Python 实现try重新执行
Dec 21 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 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的Yii框架中View视图的使用进阶
2016/03/29 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
新浪的图片新闻效果
2007/01/13 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
python音频处理用到的操作的示例代码
2017/10/27 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
Python requests设置代理的方法步骤
2020/02/23 Python
Django数据库迁移常见使用方法
2020/11/12 Python
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
加拿大最大的书店:Indigo
2017/01/01 全球购物
联想英国官网:Lenovo英国
2019/07/17 全球购物
VC++笔试题
2014/10/13 面试题
优秀员工评语
2014/02/10 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
班级安全教育实施方案
2014/02/23 职场文书
我的老师教学反思
2014/05/01 职场文书
地球上的星星观后感
2015/06/02 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android