替換檔案內容

2021-07-02 16:32:51 字數 597 閱讀 6517

前幾天無意間看見一道題,內容大致是這樣的。有乙個檔案,裡面內容是這樣的格式

1 aa

2 bb

3 cc

4 dd

現在想插入3 ee,如果存在3 那麼把後面內容換成新內容,如果不存在則新增一行。一開始我是這麼寫的

後來經指點使用字典可以這麼寫

tmp={}

with open('1','r') as fd:

a=fd.readlines()

for line in a:

tmp[line.split()[0]]=line.split()[1]

tmp['3']='ee'

這樣就可以讀出來並且修改或者新增,但是卻有乙個問題。字典是無序的,所以不能保證寫入檔案時候保證順序,所以還得排序之後才能寫進去,排序之後變成了list,每個元素是tuple型別,這時候轉成字串是有()的,所以使用join連線變成字串。

with open('1','w') as fd:

tmp=sorted(tmp.iteritems(),key=lambda d:d[0])

for i in tmp:

fd.write(' '.join(i)+'\n')

shell替換檔案內容

由於工作需要,需將之前文字中所記錄的 全部替換成新的 操作如下 1.找到專案,檢視有哪些檔案有該字串 grep r 52776822 2.找到這些檔案所屬的頂級目錄,然後進行替換 find name htm print0 xargs 0 sed i s 52776822 77777777 g 3.檢...

python 練習 替換檔案內容

1.替換 import re file name new 4.txt fp open file name,r alllines fp.readlines fp.close fp open file name,w for eachline in alllines a re.sub 0.0.0.0 1....

linux sed 批量替換檔案內容

一 linux sed 批量替換多個檔案內容 sed i s oldstring newstring g grep oldstring rl yourdir 其中,grep oldstring rl yourdir是查尋目錄中檔案內容 如將indexeddb目錄裡的檔案內容替換 idbtransac...