使用python修改文件并立即寫回到原始位置操作(inplace讀寫)
很多應(yīng)用多需要處理文件,而處理文件有一個固定的模式:打開文件,讀入一些數(shù)據(jù),處理這些數(shù)據(jù),打印到屏幕上或?qū)懭肓硪粋€文件。
那么,如果我們想修改之后立即寫回文件,該怎么做呢?用什么模式打開?又怎么讀寫?
我個人嘗試了很多中方法,不是無法實現(xiàn),就是操作非常麻煩。最終放棄。
幸運的是,Python內(nèi)置模塊fileinput就可以輕松完成。代碼如下:
import fileinput
for line in fileinput.input(r"D:\1.txt", inplace=1):
print line.replace('d', 'b'),
足夠簡單吧。(將文件中的‘d'替換成'b')。
關(guān)于更多fileinput的資料,在這里http://docs.python.org/library/fileinput.html
補充知識:python在一個字符串中找到另外一個字符串并找到該字符起始的位置

代碼詳解
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修改文件并立即寫回到原始位置操作(inplace讀寫)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python?pandas修剪函數(shù)clip使用實例探究
在數(shù)據(jù)處理和分析中,經(jīng)常面臨著需要限制數(shù)據(jù)范圍的情況,而pandas庫提供的clip函數(shù)就是一個強大的工具,可以方便地對數(shù)據(jù)進(jìn)行修剪,本文將深入介紹clip函數(shù)的基本用法、常見參數(shù)以及實際場景中的應(yīng)用,以幫助大家充分理解并靈活運用這一功能2024-01-01
使用IPython或Spyder將省略號表示的內(nèi)容完整輸出
這篇文章主要介紹了使用IPython或Spyder將省略號表示的內(nèi)容完整輸出,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
詳解pandas.DataFrame.plot() 畫圖函數(shù)
這篇文章主要介紹了詳解pandas.DataFrame.plot()畫圖函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
python數(shù)據(jù)類型判斷type與isinstance的區(qū)別實例解析
這篇文章主要介紹了python數(shù)據(jù)類型判斷type與isinstance的區(qū)別實例解析,具有一定參考價值,需要的朋友可以了解下。2017-10-10
Python進(jìn)程間通信 multiProcessing Queue隊列實現(xiàn)詳解
這篇文章主要介紹了python進(jìn)程間通信 mulitiProcessing Queue隊列實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
python?命令行參數(shù)模塊argparse的實現(xiàn)
本文主要介紹了python?命令行參數(shù)模塊argparse的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

