Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Operationsmethode „basics_file“, um eine Volltext- oder Einzelzeilenersetzung zu erreichen

Python-Operationsmethode „basics_file“, um eine Volltext- oder Einzelzeilenersetzung zu erreichen

不言
不言Original
2018-06-02 15:03:471669Durchsuche

Dieser Artikel stellt hauptsächlich die Grundlagen von python_file-Operationen vor, um eine Volltext- oder Einzelzeilenersetzung zu erreichen. Jetzt kann ich ihn mit Ihnen teilen.

Python-Änderungsdatei Bei Verwendung des W-Modus wird die Originaldatei gelöscht/überschrieben. Sie können es zunächst mit read (r) öffnen, in den Speicher schreiben und dann mit write (w) öffnen.

1. Ersetzen Sie Geschmack im Text durch Verkostung

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. Suchen und ersetzen Sie im Volltext oder ersetzen Sie in einer einzelnen Zeile

#文本内容
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) Nur Standardparameter 1 Ersetzen Sie die erste übereinstimmende Zeile

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) Globaler Ersatz

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

Das obige ist der detaillierte Inhalt vonPython-Operationsmethode „basics_file“, um eine Volltext- oder Einzelzeilenersetzung zu erreichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn