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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python 合并文件的具体实例

    支持两种用法:(1)合并某一文件夹下的所有文件(忽略文件夹等非文件条目)(2)显示的合并多文件. 复制代码 代码如下: import sysimport os'''    usage(1): merge_files pathname              pathname is directory and merge files in pathname directory    usage(2): merge_files file1 file2 [file3[...]]'''FILE_SLI

  • python list 合并连接字符串的方法

    比如下面一个list 复制代码 代码如下: binfo = ['lao','wang','python'] 我们通过help方法得知,可以用string的join方法来解决. 下面我们通过空格来连接3个单词: 复制代码 代码如下: content = " ".join(binfo)print content 结果是:lao wang python

  • Python中实现两个字典(dict)合并的方法

    本文实例讲述了Python中实现两个字典(dict)合并的方法,分享给大家供大家参考.具体方法如下: 现有两个字典dict如下: dict1={1:[1,11,111],2:[2,22,222]} dict2={3:[3,33,333],4:[4,44,444]} 合并两个字典得到类似: {1:[1,11,111],2:[2,22,222],3:[3,33,333],4:[4,44,444]} 方法1: dictMerged1=dict(dict1.items()+dict2.items())

  • Python对两个有序列表进行合并和排序的例子

    假设有2个有序列表l1.l2,如何效率比较高的将2个list合并并保持有序状态,这里默认排序是正序. 思路是比较简单的,无非是依次比较l1和l2头部第一个元素,将比较小的放在一个新的列表中,以此类推,直到所有的元素都被放到新的列表中. 考虑2个列表l1 = [2], l2 = [1],如何将他们合并呢?(注意:下面实现会改变l1和l2本来的值) 复制代码 代码如下: def signle_merge_sort(l1, l2):    tmp = []    if l1[0] < l2[0]:  

  • python实现合并两个数组的方法

    本文实例讲述了python实现合并两个数组的方法.分享给大家供大家参考.具体如下: python合并两个数组,将两个数组连接成一个数组,例如,数组 a=[1,2,3] ,数组 b=[4,5,6],连接后:[1,2,3,4,5,6] 方法1 a=[1,2,3] b=[4,5,6] a=a+b 方法2 a=[1,2,3] b=[4,5,6] a.extend(b) 希望本文所述对大家的Python程序设计有所帮助.

  • python中合并两个文本文件并按照姓名首字母排序的例子

    前段时间前在网上看到一段面试题,要求如下: employee文件中记录了工号和姓名 复制代码 代码如下: cat employee.txt: 100 Jason Smith 200 John Doe 300 Sanjay Gupta 400 Ashok Sharma bonus文件中记录工号和工资 复制代码 代码如下: cat bonus.txt: 100 $5,000 200 $500 300 $3,000 400 $1,250 要求把两个文件合并并输出如下, 处理结果: 复制代码 代码如下:

  • python将多个文本文件合并为一个文本的代码(便于搜索)

    但是,当一本书学过之后,对一般的技术和函数都有了印象,突然想要查找某个函数的实例代码时,却感到很困难,因为一本书的源代码目录很长,往往有几十甚至上百个源代码文件,想要找到自己想要的函数实例谈何容易? 所以这里就是要将所有源代码按照目录和文件名作为标签,全部合并到一处,这样便于快速的搜索.查找,不是,那么查找下一个--于是很快便可以找到自己想要的实例,非常方便.当然,分开的源代码文件依然很有用,同样可以保留.合并之后的源代码文件并不大,n*100KB而已,打开和搜索都是很快速的.大家可以将同一种编

  • python合并文本文件示例

    python实现两个文本合并 employee文件中记录了工号和姓名 复制代码 代码如下: cat employee.txt:100 Jason Smith200 John Doe300 Sanjay Gupta400 Ashok Sharma bonus文件中记录工号和工资 复制代码 代码如下: cat bonus.txt:100 $5,000200 $500300 $3,000400 $1,250 要求把两个文件合并并输出如下, 处理结果: 复制代码 代码如下: 400 ashok shar

  • Python合并字符串的3种方法

    目的 将一些小的字符串合并成一个大字符串,更多考虑的是性能 方法 常见的方法有以下几种: 1.使用+=操作符 复制代码 代码如下: BigString=small1+small2+small3+...+smalln 例如有一个片段pieces=['Today','is','really','a','good','day'],我们希望把它联起来 复制代码 代码如下: BigString=' ' for e in pieces:         BigString+=e+' ' 或者用 复制代码 代

  • python使用append合并两个数组的方法

    本文实例讲述了python使用append合并两个数组的方法.分享给大家供大家参考.具体如下: lista = [1,2,3] listb = [4,5,6] mergedlist =[] for elem in lista: mergedlist.append(elem) for elem in listb: mergedlist.append(elem) 希望本文所述对大家的Python程序设计有所帮助.

随机推荐