攝影或3C

Python TQC考題906 字串資料取代, datanew = data.replace (strold, strnew), f.write(datanew)

#Python TQC考題906 字串資料取代

“””

以下為視訊教學

最後一行錯了!

正確應為:

file.write(data.replace(s1,s2))

“””

“””

read.txt內容:

watch shoes skirt
pen trunks pants

“””

fname=input()
strold=input()
strnew=input()

with open(fname,”r+“,encoding=”utf-8”) as file:
# fname是input()進來,不需要” ” ,  r+可讀寫

#若將r+改成w+,replace前後都是空的
data=file.read()
print(“=== Before the replacement”)
print(data)
print(“=== After the replacement”)
print(data.replace(strold,strnew))
file.seek(0) #回到檔案起點

#少這一行的話,位置於文件之末,

# 會於文件末再多一段資料

#而非蓋掉原資料

file.write(data)

“””

這一行應該是錯的,

data.txt將不會被新資料寫入

應該修正為:

file.write(data.replace(strold,strnew))

這樣才把新資料寫入data.txt

參考: 字串.replace(old,new) 

“””

 

“””

datanew = data.replace(strold,strnew)
print(datanew)

要用datanew承接data.replace(strold,strnew)

再印datanew

印data的話,仍是舊資料

以下有成功將sneakers寫入data.txt,

注意:  f.write(datanew) ,

不是f.write(data)

刪除錯好幾次的程式碼

data.txt沒有改變的話

就是錯這個地方

參考: 字串.replace(old,new) 

“””

 

#再練習一次

 

#再練習一次:

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡