Python编写简单的HTML页面合并脚本
作者:pppploi8 发布时间:2022-08-13 09:13:07
标签:Python],HTML,页面合并
最近写一个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>


猜你喜欢
- 大家提供了许多linux开代理的方法,一般用到python等语言,一些服务器可能不会安装,然而perl可以说是linux标配的语言,给大家一
- 问题描述在spring-boot启动时,希望能执行相应的sql文件来初始化数据库。使用配置文件初始化数据库可以在spring-boot的配置
- 分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和
- 根据菜鸟教程Django教程学习,运行"python manage.py migrate" 报错,出现django.db
- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复
- 1、安装virtulenv、virtulenvwrapper包pip install virtualenv virtualenvwrappe
- 1、 变量及其作用域:变量分为“全局变量”和“局部变量”,“全局变量”申明在函数外部,可供所有函数使用,而“局部变量”申明在函数体内部,只能
- 整理自慕课笔记基础表单表单主要功能是用来与用户做交流的一个网页控件,良好的表单设计能够让网页与用户更好的沟通。表单中常见的元素主要包括:文本
- 问题我试图打印some_cell.font.color.rgb并得到各种结果。对于一些人,我得到了我想要的东西(比如“ FF000000”)
- 一、文章主题在看到相关的抽奖诈骗报道,有的人却不明白是怎么回事。为了预防被抽奖诈骗,因此,我们通过一些简单的例子来说一说,抽奖更深层的逻辑,
- 我们经常使用nodeType==1判断元素是否是一个HMTLElement元素。页面上的元素都是节点(Node),有元素节点(Element
- 1.学习目标递归函数是直接调用自己或通过一系列语句间接调用自己的函数。递归在程序设计有着举足轻重的作用,在很多情况下,借助递归可以优雅的解决
- 1、测试识别和运行文件识别:在给定的目录中,搜索所有test_.py或者_test.py文件用例识别:Test*类包含的所有test_*的方
- 方法对比:使用df[(df[“a”] > 3) & (df[“b&
- 本文主要介绍了pandas统计重复值次数的方法实现,分享给大家,具体如下:from pandas import DataFramedf =
- 一、背景描述csv格式文件是一种类似于excel的文件格式asc格式文件是一种可以用text打开的文本文件csv转asc本来可以用arcgi
- 安装pyserialpip install pyserial查看可用的端口# coding:utf-8import serial.tools
- 在做DHTML时,我们在某些情况下要用setAttribute(attri, value)方法定义元素的attribute。同时与getAt
- 同样,对事务日志进行备份也只会截断不活动事务的那部分事务日志,所以打开的事务会导致日志变多(甚至达到物理限制),直到事务被提交或回滚。要找到
- 同时,关于datetime也是简单介绍。因为有很多东西需要自己去使用,去查帮助才最有效。例子:计算上一个星期五并输出。解答:import d