本文實(shí)例講述了Python實(shí)現(xiàn)替換文件中指定內(nèi)容的方法。分享給大家供大家參考,具體如下:
10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有路橋免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。這里使用python編寫的程序,實(shí)現(xiàn)如下功能:將文件中的指定子串 修改為 另外的子串
編寫的python程序,文件名是file_replace.py,具體代碼如下:
#!/usr/bin/env python #_*_ coding:utf-8 _*_ import sys,os if len(sys.argv)<4 or len(sys.argv)>5: sys.exit('There needs four or five parameters') elif len(sys.argv)==4: print 'usage:./file_replace.py old_text new_text filename' else: print 'usage:./file_replace.py old_text new_text filename --bak' old_text,new_text=sys.argv[1],sys.argv[2] file_name=sys.argv[3] f=file(file_name,'rb') new_file=file('.%s.bak' % file_name,'wb')#文件名以.開頭的文件是隱藏文件 for line in f.xreadlines():#f.xreadlines()返回一個(gè)文件迭代器,每次只從文件(硬盤)中讀一行 new_file.write(line.replace(old_text,new_text)) f.close() new_file.close() if '--bak' in sys.argv: #'--bak'表示要求對(duì)原文件備份 os.rename(file_name,'%s.bak' % file_name) #unchanged os.rename('.%s.bak' % file_name,file_name) #changed else: os.rename(file_name,'wahaha.txt')#此處也可以將原文件刪除,以便下一語(yǔ)句能夠正常執(zhí)行 os.rename('.%s.bak' % file_name,file_name)