前幾天無意間看見一道題,內容大致是這樣的。有乙個檔案,裡面內容是這樣的格式
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...