欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python文件特定行插入和替換實例詳解

 更新時間:2017年07月12日 08:44:49   作者:ryanstd  
這篇文章主要介紹了python文件特定行插入和替換實例詳解的相關(guān)資料,需要的朋友可以參考下

python文件特定行插入和替換實例詳解

python提供了read,write,但和很多語言類似似乎沒有提供insert。當(dāng)然真要提供的話,肯定是可以實現(xiàn)的,但可能引入insert會帶來很多其他問題,比如在插入過程中crash掉可能會導(dǎo)致后面的內(nèi)容沒來得及寫回。

不過用fileinput可以簡單實現(xiàn)在特定行插入的需求:

Python代碼 

import os 
import fileinput 
def file_insert(fname,linenos=[],strings=[]): 
  """ 
  Insert several strings to lines with linenos repectively. 
 
  The elements in linenos must be in increasing order and len(strings) 
  must be equal to or less than len(linenos). 
 
  The extra lines ( if len(linenos)> len(strings)) will be inserted 
  with blank line. 
  """ 
  if os.path.exists(fname): 
    lineno = 0 
    i = 0 
    for line in fileinput.input(fname,inplace=1): 
      # inplace must be set to 1 
      # it will redirect stdout to the input file 
      lineno += 1 
      line = line.strip() 
      if i<len(linenos) and linenos[i]==lineno: 
        if i>=len(strings): 
          print "\n",line 
        else: 
          print strings[i] 
          print line 
        i += 1 
      else: 
        print line 
file_insert('a.txt',[1,4,5],['insert1','insert4']) 

 其中需要注意的是 fileinput.input的inplace必須要設(shè)為1,以便讓stdout被重定向到輸入文件里。

當(dāng)然用fileinput.input可以不僅用來在某行插入,還可以在特定模式的行(比如以salary:結(jié)尾的行)插入或替換,實現(xiàn)一個小型的sed。

以上就是python文件特定行插入和替換的簡單實例,如果大家有不明白或者好的建議請到留言區(qū)或者社區(qū)提問和交流,使用感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Python PCA降維的兩種實現(xiàn)方法

    Python PCA降維的兩種實現(xiàn)方法

    大家好,本篇文章主要講的是Python PCA降維的兩種實現(xiàn)方法,感興趣的的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 在Python中使用Mako模版庫的簡單教程

    在Python中使用Mako模版庫的簡單教程

    這篇文章主要介紹了在Python中使用Mako模版庫的簡單教程,包括在Django或者Tornado框架中集成Mako的方法,需要的朋友可以參考下
    2015-04-04
  • numpy庫與pandas庫axis=0,axis= 1軸的用法詳解

    numpy庫與pandas庫axis=0,axis= 1軸的用法詳解

    這篇文章主要介紹了numpy庫與pandas庫axis=0,axis= 1軸的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python re模塊常見用法例舉

    python re模塊常見用法例舉

    在本篇文章里小編給大家整理的是一篇關(guān)于python re模塊常見用法例舉內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • Python處理圖片并實現(xiàn)生成天際線

    Python處理圖片并實現(xiàn)生成天際線

    天際線(SkyLine)顧名思義就是天空與地面的邊界線,這篇文章主要為大家介紹了如何使用Python實現(xiàn)處理圖片并實現(xiàn)生成天際線,感興趣的可以了解下
    2024-01-01
  • pytorch模型預(yù)測結(jié)果與ndarray互轉(zhuǎn)方式

    pytorch模型預(yù)測結(jié)果與ndarray互轉(zhuǎn)方式

    今天小編就為大家分享一篇pytorch模型預(yù)測結(jié)果與ndarray互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • anaconda安裝pytorch1.7.1和torchvision0.8.2的方法(親測可用)

    anaconda安裝pytorch1.7.1和torchvision0.8.2的方法(親測可用)

    這篇文章主要介紹了anaconda安裝pytorch1.7.1和torchvision0.8.2的方法(親測可用),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • JavaScript中的模擬事件和自定義事件實例分析

    JavaScript中的模擬事件和自定義事件實例分析

    這篇文章主要介紹了JavaScript中的模擬事件和自定義事件,結(jié)合實例形式分析了JavaScript模擬事件和自定義事件相關(guān)操作步驟、實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • 非常全面的Python常見基礎(chǔ)面試題及答案

    非常全面的Python常見基礎(chǔ)面試題及答案

    Python是目前編程領(lǐng)域最受歡迎的語言,Python可用于許多領(lǐng)域,Web應(yīng)用程序開發(fā),自動化,數(shù)學(xué)建模,大數(shù)據(jù)應(yīng)用程序等等,這篇文章主要給大家介紹了關(guān)于Python常見基礎(chǔ)面試題及答案的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Flask配置四種方式

    Flask配置四種方式

    Flask提供了多種配置方式,可以根據(jù)不同的需求和場景進行選擇,包括配置類方式、配置文件方式、環(huán)境變量方式和實例文件方式,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11

最新評論