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

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

不言
Freigeben: 2018-06-02 15:03:47
Original
1724 Leute haben es durchsucht

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
Nach dem Login kopieren

#将文件读取到内存中
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)
Nach dem Login kopieren

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
Nach dem Login kopieren

#定义一个函数,带有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)
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage