查找與替換。從鍵盤上分別輸入要查找和替換的字符串,對文本文件進(jìn)行查找與替換,替換后保存到新的文本文件中。完成查找與替換功能的思路是:首先可從待檢索文本文件“in.jye.ai”逐行讀取文本內(nèi)容到列表text,然后從鍵盤上輸入查找的字符串key和替換的字符串new,對列表text中的元素逐個進(jìn)行查找并替換,結(jié)果保存到列表result,最后將result 寫入文件“out.jye.ai”。 (1)主程序。 text=readfile(“in.jye.ai“)#讀入文件 key=input(“請輸入要查找的字符串:“) new=input(“請輸入要替換的字符串:“) result=[] for line in text: newline=replace(key,new,line)#替換 result.append(newline)#添加到列表 writefile(“out.jye.ai“,result)#寫入文件 該程序段采用的算法是
B
B
(單選,填字母:A.解析算法/B.枚舉算法)。 (2)讀寫文本文件,如下的readfile函數(shù),逐行讀取文本文件數(shù)據(jù)存入列表并返回。請在橫線處填入合適的代碼。 def readfile(filename): f=open(filename,encoding=“utf-8“)#打開文件 text=[] line=f.readline( ?。?從文件中讀取一行 while line: text.jye.ai(line)#添加到列表 line=f.readline( ) f.jye.ai( ?。?br />return
def writefile(filename,text): #將text寫入filename文件,代碼略 (3)查找字符串,如下的findstr函數(shù),在字符串line中從begin位置開始查找key在字符串line中的位置,請在橫線處填入合適的代碼。 def findstr(key,line,begin): for i in range(begin,len(line)-len(key)+1): if : return i return-1 (4)替換字符串。如下的replace函數(shù),在字符串line中檢索所有的字符串key并替換為new,請在橫線處填入合適的代碼。 def replace(key,new,line): begin=0 while begin<len(line)-len(key)+1: pos=findstr(key,line,begin) if pos==-1:
else: line=line[0:pos]+new+line[pos+len(key):len(line)] begin=pos+len(key) return line