使用python修改文件并立即寫(xiě)回到原始位置操作(inplace讀寫(xiě))
很多應(yīng)用多需要處理文件,而處理文件有一個(gè)固定的模式:打開(kāi)文件,讀入一些數(shù)據(jù),處理這些數(shù)據(jù),打印到屏幕上或?qū)懭肓硪粋€(gè)文件。
那么,如果我們想修改之后立即寫(xiě)回文件,該怎么做呢?用什么模式打開(kāi)?又怎么讀寫(xiě)?
我個(gè)人嘗試了很多中方法,不是無(wú)法實(shí)現(xiàn),就是操作非常麻煩。最終放棄。
幸運(yùn)的是,Python內(nèi)置模塊fileinput就可以輕松完成。代碼如下:
import fileinputfor line in fileinput.input(r'D:1.txt', inplace=1): print line.replace(’d’, ’b’),
足夠簡(jiǎn)單吧。(將文件中的‘d’替換成’b’)。
關(guān)于更多fileinput的資料,在這里http://docs.python.org/library/fileinput.html
補(bǔ)充知識(shí):python在一個(gè)字符串中找到另外一個(gè)字符串并找到該字符起始的位置
代碼詳解
def index_of_str(seq, sub_seq): index=[] n1=len(seq) n2=len(sub_seq) for i in range(n1-n2+1): #print(’seq==%s’ % (seq[i:i + n2])) if seq[i:i+n2]==sub_seq: #print(’seq==%s’%(seq[i:i+n2])) index.append(i+1) print(index)index_of_str(’ATGATAGAGGGATACGGGATAG’, ’GATA’) def index_of_str(s1, s2): global dex dex=0 index=[] lt=s1.split(s2) print(lt) num=len(lt) for i in range(num-1): dex+=len(lt[i]) index.append(dex) dex+=len(s2) print(index) #if len(lt)==1: #return -1 #return len(lt[0])print(index_of_str(’ATGATAGAGGGATACGGGATAG’, ’GATA’))
以上這篇使用python修改文件并立即寫(xiě)回到原始位置操作(inplace讀寫(xiě))就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP.NET MVC實(shí)現(xiàn)橫向展示購(gòu)物車(chē)2. ThinkPHP5 通過(guò)ajax插入圖片并實(shí)時(shí)顯示(完整代碼)3. Docker 容器健康檢查機(jī)制4. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效5. python os.listdir()亂碼解決方案6. Python xml、字典、json、類(lèi)四種數(shù)據(jù)類(lèi)型如何實(shí)現(xiàn)互相轉(zhuǎn)換7. python中asyncio異步編程學(xué)習(xí)8. Java struts2 package元素配置及實(shí)例解析9. python使用openpyxl庫(kù)讀寫(xiě)Excel表格的方法(增刪改查操作)10. 解決Java處理HTTP請(qǐng)求超時(shí)的問(wèn)題
