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)