替换字符串。如下的 replace 函数,在字符串 line 中检索所有的字符串 key 并替换为new,请在划线处填入合适的代码。 def replace(key,new, line): begin = 0 while begin < len(line) - Ten(key) + 1:pos = findstr(key, ine, begin)if pos == -1: else:--5--begin = pos + Ten(key)return Tine(4)编写writefile函数将替换后的文本保存到新的文件中 def writefile(filename, result):f = ---6-- f.writelines (result) f.close()
时间: 2024-02-22 10:58:58 浏览: 84
下面是替换字符串和保存文件的完整代码,其中划线部分是需要填写的代码:
```python
def replace(key, new, line):
begin = 0
while begin < len(line) - len(key) + 1:
pos = line.find(key, begin)
if pos == -1:
break
else:
line = line[:pos] + new + line[pos+len(key):]
begin = pos + len(new)
return line
def writefile(filename, result):
f = open(filename, 'w')
f.writelines(result)
f.close()
# 测试代码
if __name__ == '__main__':
key = 'Python'
new = 'Java'
filename = 'test.txt'
with open(filename, 'r') as f:
lines = f.readlines()
for i in range(len(lines)):
lines[i] = replace(key, new, lines[i])
result = ''.join(lines)
writefile('new_'+filename, result)
```
这个程序中,replace函数可以将字符串line中的所有key字符串替换为new字符串。使用while循环遍历整个字符串,使用字符串方法find查找key字符串在line字符串中的位置,如果找到了,则用new字符串替换掉key字符串,然后将begin指向新的位置,继续查找下一个key字符串。如果未找到key字符串,则退出循环,返回替换后的字符串。
writefile函数用于将替换后的文本保存到新的文件中。使用open函数打开文件,传入'w'模式表示写入模式,然后使用writelines函数将替换后的字符串列表写入文件,最后使用close函数关闭文件。
在主程序中,先使用with open语句读取原始文件中的所有行,并将每行都传入replace函数进行替换。然后使用join函数将替换后的字符串列表连接成一个字符串,最后调用writefile函数将替换后的字符串写入新的文件中。
需要填写的代码如下:
```python
def replace(key, new, line):
begin = 0
while begin < len(line) - len(key) + 1:
pos = line.find(key, begin)
if pos == -1:
break
else:
line = line[:pos] + new + line[pos+len(key):]
begin = pos + len(new)
return line
def writefile(filename, result):
f = open(filename, 'w')
f.writelines(result)
f.close()
```
其中,在writefile函数中,需要填写文件句柄的变量名,应该是f。
阅读全文