Lorsque Python modifie un fichier, l'utilisation du mode w effacera/écrasera le fichier d'origine. Vous pouvez d'abord l'ouvrir avec read (r), l'écrire dans la mémoire, puis l'ouvrir avec write (w).
Remplacer le goût dans le texte par dégustation
Yesterday when I was young 昨日当我年少轻狂 The taste of life was sweet 生命的滋味是甜的 As rain upon my tongue
#将文件读取到内存中 with open("./fileread.txt","r",encoding="utf-8") as f: lines = f.readlines() #写的方式打开文件 with open("./fileread.txt","w",encoding="utf-8") as f_w: for line in lines: if "taste" in line: #替换 line = line.replace("taste","tasting") f_w.write(line)
2. Rechercher et remplacer dans le texte intégral ou remplacer sur une seule ligne
#文本内容 Yesterday when I was young 昨日当我年少轻狂 The taste of life was sweet 生命的滋味是甜的 As rain upon my tongue taste taste taste taste
#定义一个函数,带有4个参数 #x 表示要更新的文件名称 #y 表示要被替换的内容 #z 表示 替换后的内容 #s 默认参数为 1 表示只替换第一个匹配到的字符串 # 如果参数为 s = 'g' 则表示全文替换 def string_switch(x,y,z,s=1): with open(x, "r", encoding="utf-8") as f: #readlines以列表的形式将文件读出 lines = f.readlines() with open(x, "w", encoding="utf-8") as f_w: #定义一个数字,用来记录在读取文件时在列表中的位置 n = 0 #默认选项,只替换第一次匹配到的行中的字符串 if s == 1: for line in lines: if y in line: line = line.replace(y,z) f_w.write(line) n += 1 break f_w.write(line) n += 1 #将剩余的文本内容继续输出 for i in range(n,len(lines)): f_w.write(lines[i]) #全局匹配替换 elif s == 'g': for line in lines: if y in line: line = line.replace(y,z) f_w.write(line)
Test
1) Paramètre par défaut 1, remplace uniquement la première ligne correspondante
string_switch("fileread.txt","taste","tasting") #结果 Yesterday when I was young 昨日当我年少轻狂 The tasting of life was sweet 生命的滋味是甜的 As rain upon my tongue taste taste taste taste
2) Remplacement global
string_switch("fileread.txt","taste","tasting","g") #结果 Yesterday when I was young 昨日当我年少轻狂 The tasting of life was sweet 生命的滋味是甜的 As rain upon my tongue tasting tasting tasting tasting
Plus de façons d'implémenter le texte intégral ou remplacement d'une seule ligne pour les opérations sur les fichiers en python Pour les articles connexes, veuillez faire attention au site Web PHP chinois !