python文件特定行插入和替换实例详解

发布时间 - 2026-01-11 02:17:44    点击率:

python文件特定行插入和替换实例详解

python提供了read,write,但和很多语言类似似乎没有提供insert。当然真要提供的话,肯定是可以实现的,但可能引入insert会带来很多其他问题,比如在插入过程中crash掉可能会导致后面的内容没来得及写回。

不过用fileinput可以简单实现在特定行插入的需求:

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必须要设为1,以便让stdout被重定向到输入文件里。

当然用fileinput.input可以不仅用来在某行插入,还可以在特定模式的行(比如以salary:结尾的行)插入或替换,实现一个小型的sed。

以上就是python文件特定行插入和替换的简单实例,如果大家有不明白或者好的建议请到留言区或者社区提问和交流,使用感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# python文件特定行插入和替换  # python  # 文件插入  # 详解python中的文件与目录操作  # Python使用filetype精确判断文件类型  # Python使用openpyxl读写excel文件的方法  # Python处理Excel文件实例代码  # Python3.6-MySql中插入文件路径  # 丢失反斜杠的解决方法  # Python实现删除文件中含“指定内容”的行示例  # 利用Python读取文件的四种不同方法比对  # python 读取excel文件生成sql文件实例详解  # 的是  # 还可以  # 设为  # 不明白  # 希望能  # 在特定  # 请到  # 可以实现  # 谢谢大家  # 如在  # 真要  # 需要注意  # 过程中  # 重定向  # 必须要  # def  # brush  # import  # py  # os 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何获取上海专业网站定制建站电话?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  jQuery validate插件功能与用法详解  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  使用Dockerfile构建java web环境  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  高防服务器租用指南:配置选择与快速部署攻略  Laravel怎么在Controller之外的地方验证数据  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  JavaScript如何实现继承_有哪些常用方法  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  详解vue.js组件化开发实践  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  魔方云NAT建站如何实现端口转发?  如何快速重置建站主机并恢复默认配置?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  如何快速查询域名建站关键信息?  Laravel如何使用Gate和Policy进行授权?(权限控制)  Laravel如何使用Blade模板引擎?(完整语法和示例)  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel集合Collection怎么用_Laravel集合常用函数详解  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  智能起名网站制作软件有哪些,制作logo的软件?  微信小程序 五星评分(包括半颗星评分)实例代码  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel怎么实现验证码(Captcha)功能  中山网站制作网页,中山新生登记系统登记流程?  QQ浏览器网页版登录入口 个人中心在线进入  历史网站制作软件,华为如何找回被删除的网站?  IOS倒计时设置UIButton标题title的抖动问题  Windows Hello人脸识别突然无法使用  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Laravel如何创建自定义中间件?(Middleware代码示例)  公司门户网站制作流程,华为官网怎么做?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  jquery插件bootstrapValidator表单验证详解