Python 实现类似sed命令的字符串替换小程序
生活随笔
收集整理的這篇文章主要介紹了
Python 实现类似sed命令的字符串替换小程序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
背景
sed命令
sed 's/原字符串/新字符串'單引號(hào)中間是s表示替換,原字符串就是要被替換掉的字符串,新字符串就是想要的字符串。
效果
在命令行輸入python practice.py i 3333333333 123.txt(程序名稱(chēng)叫practice.py,123.txt是要事先建立的)
如下圖:123.txt文件里的字符串i被替換成了33333333,而原來(lái)的文件被保存為123.txt.bak文件
代碼的實(shí)現(xiàn)
1、先讀取命令行的幾個(gè)參數(shù);
2、創(chuàng)建一個(gè)新文件,將原來(lái)的內(nèi)容全部復(fù)制,并將包含的字符串替換成新的;
3、將原來(lái)的文件名改為.bak的格式,將新的文件更名為原來(lái)的文件名即可
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' # # 文件替換程序 import sys, osif len(sys.argv) <= 4:print "usage:./practice.py old_text new_text filename"old_text, new_text = sys.argv[1], sys.argv[2]filename = sys.argv[3]f = file(filename, 'rb') new_f = file('.%s.bak' % filename, 'wb') # 文件前面加一個(gè)點(diǎn)表示隱藏文件for line in f.xreadlines(): # 把每一行都取出來(lái)new_f.write(line.replace(old_text, new_text)) # 替換文本并寫(xiě)入新文件中f.close() new_f.close() # 一定要記得關(guān)文件os.rename(filename, '%s.bak' % filename) # 沒(méi)改的 os.rename('.%s.bak' % filename, filename) # 改過(guò)的總結(jié)
以上是生活随笔為你收集整理的Python 实现类似sed命令的字符串替换小程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python类的命名空间与组合
- 下一篇: Django中自定义实现RESTful