最近写一个BootStrap页面...因为功能需要所以决定一个页面解决所有问题,然后用jQuery来动态显示功能....然而这样做的话页面会相当庞大,一堆隐藏模态窗口和功能div都堆在一起看起来挺难受的
然后想了下就用Python写了个小脚本用来支持<include>标签,用处是合并外部html文件,来强行分文件编写单个庞大的HTML页面
用了下感觉挺好用的,分享给大家
使用方法:
HTML中使用<include src="">标签来导入其他HTML代码。支持嵌套替换(如A页面嵌套B页面,B页面嵌套C页面)。但是请小心循环嵌套(A页面嵌套B页面,B页面嵌套A页面),会导致死循环
主页面为默认处理页面为index.html,生成合并页面为newhtml.html
具体代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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>
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。