python修改文件的方法_python中文件操作实现全文或单行替换方法
python修改文件時(shí),使用w模式會(huì)將原本的文件清空/覆蓋。可以先用讀(r)的方式打開,寫到內(nèi)存中,然后再用寫(w)的方式打開。替換文本中的taste 為 tasting
Yesterday when I was young
昨日當(dāng)我年少輕狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
#將文件讀取到內(nèi)存中
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.全文中搜索替換或者單行替換
#文本內(nèi)容
Yesterday when I was young
昨日當(dāng)我年少輕狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
taste
taste
taste
taste
#定義一個(gè)函數(shù),帶有4個(gè)參數(shù)
#x 表示要更新的文件名稱
#y 表示要被替換的內(nèi)容
#z 表示 替換后的內(nèi)容
#s 默認(rèn)參數(shù)為 1 表示只替換第一個(gè)匹配到的字符串
# 如果參數(shù)為 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:
#定義一個(gè)數(shù)字,用來(lái)記錄在讀取文件時(shí)在列表中的位置
n = 0
#默認(rèn)選項(xiàng),只替換第一次匹配到的行中的字符串
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
#將剩余的文本內(nèi)容繼續(xù)輸出
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)
測(cè)試
1)默認(rèn)參數(shù) 1,只替換匹配到的第一行
string_switch("fileread.txt","taste","tasting")
#結(jié)果
Yesterday when I was young
昨日當(dāng)我年少輕狂
The tasting of life was sweet
生命的滋味是甜的
As rain upon my tongue
taste
taste
taste
taste
2)全局替換
string_switch("fileread.txt","taste","tasting","g")
#結(jié)果
Yesterday when I was young
昨日當(dāng)我年少輕狂
The tasting of life was sweet
生命的滋味是甜的
As rain upon my tongue
tasting
tasting
tasting
tasting
更多python中文件操作實(shí)現(xiàn)全文或單行替換方法相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!
本條技術(shù)文章來(lái)源于互聯(lián)網(wǎng),如果無(wú)意侵犯您的權(quán)益請(qǐng)點(diǎn)擊此處反饋版權(quán)投訴
本文系統(tǒng)來(lái)源:php中文網(wǎng)
TAG標(biāo)簽:python
總結(jié)
以上是生活随笔為你收集整理的python修改文件的方法_python中文件操作实现全文或单行替换方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 认真学习MySQL中的MVCC机制
- 下一篇: 【Python】Python使用you-