项目实训-对已经编辑好的html文本进行修改.py

1.由于一些原因,需要对已经编辑好的html文件进行修改

具体修改如下:

1>在sample文件夹下的每个文件夹{filename}中有两个HTML文件{filename}.html,{filename+sample}.html

2>对filename.html做出的处理是:

在<div class="left">后加入一些语句<li>....

3>对{filename+sample}.html做出的处理是:

在</div></div>\n</body>\n</html>前加入一些语句<h2>...

2.首先读取sample下符合要求的文件目录:

import os
#获取src路径下所有包含str(非str)的所有文件的路径
def getfilelist_1(src,str):
    filelist=[]
    file_dir=src
    for root,dirs,files in os.walk(file_dir,topdown=False):
        fileurl=root.replace("\\","/")
        for file in files:
            #所有的子文件路径
            if str in file and file != str:
                fileurl=fileurl+"/"+file
                print(fileurl)
                filelist.append(fileurl)
    return filelist

#获取src路径的子目录文件中与子目录名相同的文件的文件路径
def getfilelist_2(src):
    filelist = []
    file_dir = os.listdir(src)
    print(file_dir)
    for filename in file_dir:
        if filename.find(".")<0 and filename is not None:
            sub_files=os.listdir(src+"/"+filename)
            for subfile in sub_files:
                str=filename+".html"
                if subfile == str:
                    filelist.append(src+"/"+filename+"/"+subfile)

    return filelist

2.对文件内容做处理

#postion表示前后,这里偷懒直接用positon表示不同的添加字符
def addtofile(fileurl,target,position):
    #这里需要从fileurl中分片一下filename,方便之后的字符串拼接
    index=fileurl.find("sample/")+"sample/".__len__()
    splitfileurl=fileurl[index:]
    index2=splitfileurl.find("/")
    filename=splitfileurl[:index2]
    #拼接href后的语句
    href="\"sample/"+filename+"/"+filename+"src.zip\""
    #拼接加入的内容
    addstr="<h2 id=\"下载源码\"><span><a href="+href+">下载源码</a></span></h2><h2 id=\"下载示例apk\">" \
           "<span><a href="+href+">下载示例apk</a></span></h2>"
    #读取文件
    file_html=open(fileurl,"r",encoding='utf-8')
    #读取文件内容
    try:
        all_the_text = file_html.read()
    finally:
        file_html.close()
    # file_html.close()
    index_target=all_the_text.find(target)
    if position==1:
        index_target=index_target+target.__len__()
        addstr="<li><a href=\"#下载源码\">下载源码</a></li><li><a href=\"#下载示例apk\">下载示例apk</a></li>"
    print(index_target)

    if(index_target>=0):
        #标志位前的数据
        datasplit1=all_the_text[:index_target]
        # print(datasplit1)
        #标志位后的数据
        datasplit2=all_the_text[index_target:]
        # print(datasplit2)
        #拼接字符串
        datacompose=datasplit1+addstr+datasplit2
        # print(datacompose)
        fout=open(fileurl,'w',encoding='utf-8')
        fout.write(datacompose)

3.主函数:

if __name__=='__main__':
    filelist=getfilelist_1("F:/dbq/项目实训/web/sample","sample.html")
    for file in filelist:
        addtofile(file,"</div></div>\n</body>\n</html>",0)
    filelist2=getfilelist_2("F:/dbq/项目实训/web/sample")
    print(filelist2)
    for file in filelist2:
        #添加代码:
        #0表示在target前加
        #1表示在target后加
        addtofile(file,"<div class=\"left\">",1)

!!!注意要给修改的文件备份啊!!!万一改错了呢!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值