Python編寫(xiě)簡(jiǎn)單的HTML頁(yè)面合并腳本
最近寫(xiě)一個(gè)BootStrap頁(yè)面...因?yàn)楣δ苄枰詻Q定一個(gè)頁(yè)面解決所有問(wèn)題,然后用jQuery來(lái)動(dòng)態(tài)顯示功能....然而這樣做的話頁(yè)面會(huì)相當(dāng)龐大,一堆隱藏模態(tài)窗口和功能div都堆在一起看起來(lái)挺難受的
然后想了下就用Python寫(xiě)了個(gè)小腳本用來(lái)支持<include>標(biāo)簽,用處是合并外部html文件,來(lái)強(qiáng)行分文件編寫(xiě)單個(gè)龐大的HTML頁(yè)面
用了下感覺(jué)挺好用的,分享給大家
使用方法:
HTML中使用<include src="">標(biāo)簽來(lái)導(dǎo)入其他HTML代碼。支持嵌套替換(如A頁(yè)面嵌套B頁(yè)面,B頁(yè)面嵌套C頁(yè)面)。但是請(qǐng)小心循環(huán)嵌套(A頁(yè)面嵌套B頁(yè)面,B頁(yè)面嵌套A頁(yè)面),會(huì)導(dǎo)致死循環(huán)
主頁(yè)面為默認(rèn)處理頁(yè)面為index.html,生成合并頁(yè)面為newhtml.html
具體代碼如下
import codecs import webbrowser import sys charset = "utf-8" #文件編碼 #讀取text里的<include>標(biāo)簽及src屬性中的文件,替換原標(biāo)簽 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標(biāo)簽 text = text.replace(tag,tmpText) tmpFile.close() posA = text.find("<include") return text; except Exception as e: print ("錯(cuò)誤:文件",filename,"中的",file,"處理失??!錯(cuò)誤信息:\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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python基于lxml模塊解析html獲取頁(yè)面內(nèi)所有葉子節(jié)點(diǎn)xpath路徑功能示例
- Python語(yǔ)言實(shí)現(xiàn)將圖片轉(zhuǎn)化為html頁(yè)面
- python抓取并保存html頁(yè)面時(shí)亂碼問(wèn)題的解決方法
- Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程
- Python使用urllib2模塊抓取HTML頁(yè)面資源的實(shí)例分享
- Python正則表達(dá)式匹配HTML頁(yè)面編碼
- 通過(guò)Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的html頁(yè)面
相關(guān)文章
python基礎(chǔ)教程之對(duì)象和類的實(shí)際運(yùn)用
這篇文章主要介紹了python基礎(chǔ)教程之對(duì)象和類的實(shí)際運(yùn)用,本文講解對(duì)象和類的一方法技巧,例如屬性、內(nèi)置方法、self關(guān)鍵字的運(yùn)用等,需要的朋友可以參考下2014-08-08Django執(zhí)行python?manage.py?makemigrations報(bào)錯(cuò)的解決方案分享
相信用過(guò)很多Django makemigrations的人都會(huì)遇到過(guò)makemigrations時(shí)會(huì)發(fā)生報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于Django執(zhí)行python?manage.py?makemigrations報(bào)錯(cuò)的解決方案,需要的朋友可以參考下2022-09-09在Python中操作PDF的常見(jiàn)方法小結(jié)
當(dāng)在Python中操作PDF時(shí),有幾種常見(jiàn)的方法,每種方法都有其獨(dú)特的優(yōu)點(diǎn)和用例,在本文中,我們將深入探討這些方法,并提供豐富的示例代碼,以幫助大家更好地理解如何使用這些技術(shù),需要的朋友可以參考下2024-01-01python時(shí)間整形轉(zhuǎn)標(biāo)準(zhǔn)格式的示例分享
這篇文章主要介紹了python時(shí)間整形轉(zhuǎn)標(biāo)準(zhǔn)格式的示例,需要的朋友可以參考下2014-02-02python實(shí)現(xiàn)遞歸查找某個(gè)路徑下所有文件中的中文字符
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)遞歸查找某個(gè)路徑下所有文件中的中文字符,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08Python:type、object、class與內(nèi)置類型實(shí)例
今天小編就為大家分享一篇Python:type、object、class與內(nèi)置類型實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Pandas中的 transform()結(jié)合 groupby()用法示例詳解
這篇文章主要介紹了Pandas中的 transform() 結(jié)合 groupby() 用法示例,本文通過(guò)一個(gè)餐廳數(shù)據(jù)集給大家分享解決方案,示例代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-09-09python實(shí)現(xiàn)DEM數(shù)據(jù)的陰影生成的方法
這篇文章主要介紹了python實(shí)現(xiàn)DEM數(shù)據(jù)的陰影生成的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07