Maison > développement back-end > Tutoriel Python > méthode d'opération python basics_file pour obtenir le remplacement du texte intégral ou d'une seule ligne

méthode d'opération python basics_file pour obtenir le remplacement du texte intégral ou d'une seule ligne

不言
Libérer: 2018-06-02 15:03:47
original
1708 Les gens l'ont consulté

Cet article présente principalement les bases des opérations python_file pour réaliser un remplacement de texte intégral ou d'une seule ligne. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

. Fichier de modification Python Lors de l'utilisation du mode w, le fichier d'origine sera effacé/écrasé. Vous pouvez d'abord l'ouvrir avec read (r), l'écrire dans la mémoire, puis l'ouvrir avec write (w).

1. 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
Copier après la connexion

#将文件读取到内存中
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)
Copier après la connexion

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
Copier après la connexion

#定义一个函数,带有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)
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal