python按条件删除文件行,删除文件中的特定行(python)-程序员宅基地

技术标签: python按条件删除文件行  

假设你的文件是每行一个昵称的格式,使用这个。

首先,打开文件:

f = open("yourfile.txt","r")

接下来,从文件中获取所有行:

lines = f.readlines()

现在你可以closures文件了:

f.close()

并以写入模式重新打开:

f = open("yourfile.txt","w")

然后,写回你的行,除了你想要删除的行。 您可能需要将"\n"更改为文件结尾的任何行。

for line in lines: if line!="nickname_to_delete"+"\n": f.write(line)

最后,再次closures文件。

f.close()

解决这个问题只有一个单一的打开:

f = open("target.txt","r+") d = f.readlines() f.seek(0) for i in d: if i != "line you want to remove...": f.write(i) f.truncate() f.close()

此解决scheme以r / w模式(“r +”)打开文件,并使用seek重置f-指针,然后截断以删除上次写入后的所有内容。

最好和最快的select,而不是将所有内容存储在一个列表中,并重新打开文件来写它,在我看来是在其他地方重写文件。

<
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39902608/article/details/116185786

智能推荐

Ubuntu 18.04 + Hadoop-3.1.3 伪分布式环境安装测试全过程_ubuntu 18.0.4 进行 hadoop 的伪分布模式的配置与测试,并记录详细过程-程序员宅基地

文章浏览阅读928次。环境Ubuntu18、openjdk-9、Hadoop3.1.3因为近期网络问题,hadoop是阿里云的镜像,Ubuntu和jdk是华为云的镜像。准备工作更新aptsudo apt-get update安装SSH、配置SSH无密码登陆sudo apt-get install openssh-serverssh localhostexit ..._ubuntu 18.0.4 进行 hadoop 的伪分布模式的配置与测试,并记录详细过程

Vue.js的UI组件库介绍:在Vue.js生态系统中,有许多优秀的UI组件库可供选择和使用_js ui库-程序员宅基地

文章浏览阅读906次。Vue.js是一个流行的JavaScript框架,它具有响应式和组件化的特征,使得开发Web应用程序变得更加容易和便捷。在Vue.js生态系统中,有许多优秀的UI组件库可供选择和使用。_js ui库

扫地僧身份解析_传智播客扫地僧是谁-程序员宅基地

文章浏览阅读690次。老和尚镇楼! 关于扫地僧相信读过武侠的朋友们一定不陌生。作为天龙八部中武功最强的人,他同时也是最神秘的人。没人知道他从何而来,为什么有如此高强的武功,以及为什么在寺中躲了那么多年不与人相见。 金庸先生没有为我们解答这些问题,却留下了足够多的线索供我们去探索真相。 首先最直接的线索是老和尚的话:老衲已经躲了43年了。43年差不多刚好是两代人,而那个时代中厉害的人物只有五个:李沧海_传智播客扫地僧是谁

这个ChatGPT项目有了重大更新,可以直接打包成桌面应用_chatgpt_jcm-程序员宅基地

文章浏览阅读3.7k次,点赞3次,收藏11次。如果,想获取更多精彩的内容可以关注我的公众号。构建完成后,可以使用以下命令运行镜像,其中 "my-container" 是您想要给容器取的名称。的接口,需要魔法上网才可以,所以,构建了桌面应用后,我们需要进行魔法上网才可以正常使用。外观上也作出了改变,把界面做的更加简洁。采用docker方式部署,前提是服务器的环境已经正确的安全了。进行桌面应用的构建,目前,国内也不能直接调用。好了,废话不多说,下面简单介绍一下部署方法。项目,最近这个仓库有了重大的更新,可以把。是您想要给镜像取的名称,"." 表示。_chatgpt_jcm

spring注解@ControllerAdvice的原理分析和使用_controlleradvice原理-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏17次。@ControllerAdvice注解是Spring3.2中新增的注解,学名是Controller增强器,作用是给Controller控制器添加统一的操作或处理。对于@ControllerAdvice,我们比较熟知的用法是结合@ExceptionHandler用于全局异常的处理,但其作用不止于此。ControllerAdvice拆开来就是Controller Advice,关于Advice,在Spring的AOP中,是用来封装一个切面所有属性的,包括切入点和需要织入的切面逻辑。这里ControllerA_controlleradvice原理

改善侧滑菜单Fragment切换速度(解决Fragment切换加载慢的问题)_new fragment有点慢-程序员宅基地

文章浏览阅读3.9k次。1.现状:在做项目的时候很多时候需要使用侧滑菜单。侧滑菜单项一般都是用Fragment。一般设计上是在Home page的layout中使用FrameLayout 作为一个container 如:content_main.xml

随便推点

小米mx250显卡安装不上_小米搅局笔记本电脑市场,新品还是熟悉的价格,但配置全面升级了...-程序员宅基地

文章浏览阅读100次。今天,小米官方正式宣布推出了一款增强版的小米笔记本Air,和上一代相比,外观上无任何差别,本次只在硬件配置上作出了全面升级。在价格方面,依然还是熟悉的价格,全系3599元起,本周四将正式开售。升级后的小米笔记本Air,处理器从原来的第七代酷睿处理器升级为了第八代,性能上有所提升。拥有超长续航,续航时间可达5-8小时,支持1C快充技术,35分钟可充电50%。此外在音质方面,内置哈曼全频扬声器,专业级..._小米ruby升级显卡

esxi6.7.0最新版本下载_esxi6.7 zip下载-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏3次。官方链接https://download2.vmware.com/software/esx/67/VMware-ESXi-6.7.0-8169922-depot.zip?HashKey=3083b68c2453a98413e43feb30ac96c8&params=%7B%22custnumber%22%3A%22dGRlaCVlQCpldw%3D%3D%22%2C%22sourcefilesize%22%3A%22324.97+MB%22%2C%22dlgcode%22%3A%22ESXI670_esxi6.7 zip下载

mysql5.7 实现分组后组内排序功能 ROW_NUMBER() OVER (PARTITION BY)_mysql 5.7 如何row_number 分组排序-程序员宅基地

文章浏览阅读1.4k次。深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。_mysql 5.7 如何row_number 分组排序

HBASE1.2的RIT(三)--RIT产生详解2_hbase rit splitting_new-程序员宅基地

文章浏览阅读1k次。本章接着讨论,hbase的其他DDL操作,怎么样影响Region的状态变迁,产生RIT_hbase rit splitting_new

基于国产FPGA紫光同创Titan2 PG2T390H的PCIe链式DMA控制器设计_titan2 pg2t390h 资料-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏13次。介绍基于紫光同创Titan2系列PG2T390H芯片的链式PCIe DMA控制器实现框架,该架构支持多通道,每个通道支持128个描述符,亦可支持SR-IOV虚拟化,支持两路PF,6个VF。数据通道支持标准AXI-MM接口,修改简化亦可支持AXI-Stream接口。BAR读写可支持APB接口或者AXI-lite接口。本方案亦可移植到xilinx/intel平台,真正做到自主可控,带宽利用率极高,数据量在64m以上接近理论极限水平。基于全流水设计,相较于intel、xilinx官方IP,本IP的带宽利用率更高!_titan2 pg2t390h 资料

1-程序员宅基地

文章浏览阅读572次。定义内涵编辑软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究Fr

推荐文章

热门文章

相关标签