python基礎(chǔ)_文件操作實現(xiàn)全文或單行替換的方法
python修改文件時,使用w模式會將原本的文件清空/覆蓋??梢韵扔米x(r)的方式打開,寫到內(nèi)存中,然后再用寫(w)的方式打開。
1、替換文本中的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
#定義一個函數(shù),帶有4個參數(shù)
#x 表示要更新的文件名稱
#y 表示要被替換的內(nèi)容
#z 表示 替換后的內(nèi)容
#s 默認(rèn)參數(shù)為 1 表示只替換第一個匹配到的字符串
# 如果參數(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:
#定義一個數(shù)字,用來記錄在讀取文件時在列表中的位置
n = 0
#默認(rèn)選項,只替換第一次匹配到的行中的字符串
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)
測試
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基礎(chǔ)_文件操作實現(xiàn)全文或單行替換的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- python cx_Oracle的基礎(chǔ)使用方法(連接和增刪改查)
- Python基礎(chǔ)語言學(xué)習(xí)筆記總結(jié)(精華)
- python基礎(chǔ)練習(xí)之幾個簡單的游戲
- 一張圖帶我們?nèi)腴TPython基礎(chǔ)教程
- 零基礎(chǔ)寫python爬蟲之爬蟲編寫全記錄
- 零基礎(chǔ)寫python爬蟲之神器正則表達(dá)式
- 零基礎(chǔ)寫python爬蟲之HTTP異常處理
- 零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
- Python Tkinter基礎(chǔ)控件用法
- python基礎(chǔ)梳理(一)(推薦)
相關(guān)文章
對python同一個文件夾里面不同.py文件的交叉引用方法詳解
今天小編就為大家分享一篇對python同一個文件夾里面不同.py文件的交叉引用方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python3實現(xiàn)發(fā)送QQ郵件功能(文本)
這篇文章主要為大家詳細(xì)介紹了Python3實現(xiàn)發(fā)送QQ郵件功能,文本方面,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
詳解Python中Sync與Async執(zhí)行速度快慢對比
Python新的版本中支持了async/await語法, 很多文章都在說這種語法的實現(xiàn)代碼會變得很快, 但是這種快是有場景限制的。這篇文章將嘗試簡單的解釋為何Async的代碼在某些場景比Sync的代碼快2023-03-03
Pandas實現(xiàn)groupby分組統(tǒng)計方法實例
在數(shù)據(jù)處理的過程,有可能需要對一堆數(shù)據(jù)分組處理,例如對不同的列進(jìn)行agg聚合操作(mean,min,max等等),下面這篇文章主要給大家介紹了關(guān)于Pandas實現(xiàn)groupby分組統(tǒng)計方法的相關(guān)資料,需要的朋友可以參考下2023-06-06
在pytorch中動態(tài)調(diào)整優(yōu)化器的學(xué)習(xí)率方式
這篇文章主要介紹了在pytorch中動態(tài)調(diào)整優(yōu)化器的學(xué)習(xí)率方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

