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