1 #定义一个函数,带有4个参数
2 #x 表示要更新的文件名称
3 #y 表示要被替换的内容
4 #z 表示 替换后的内容
5 #s 默认参数为 1 表示只替换第一个匹配到的字符串
6 # 如果参数为 s = 'g' 则表示全文替换
7 def string_switch(x,y,z,s=1):
8 with open(x, "r", encoding="utf-8") as f:
9 #readlines以列表的形式将文件读出
10 lines = f.readlines()
11
12 with open(x, "w", encoding="utf-8") as f_w:
13 #定义一个数字,用来记录在读取文件时在列表中的位置
14 n = 0
15 #默认选项,只替换第一次匹配到的行中的字符串
16 if s == 1:
17 for line in lines:
18 if y in line:
19 line = line.replace(y,z)
20 f_w.write(line)
21 n += 1
22 break
23 f_w.write(line)
24 n += 1
25 #将剩余的文本内容继续输出
26 for i in range(n,len(lines)):
27 f_w.write(lines[i])
28 #全局匹配替换
29 elif s == 'g':
30 for line in lines:
31 if y in line:
32 line = line.replace(y,z)
33 f_w.write(line)