python删除文件指定行

python删除文件指定行我们现在有五行数据,我们想删除第三行:pig删除文本指定行:删除文本指定行用的是foriini,找到指定行的关键字,将不包括关键字的其他行放在生成器中,将生成器包含的内容重新写入文件。我们这里不用readlines是因为foriinf是使用一行读取一行,不会消耗太多的内存。如果使用readlines就会一次性将所有的内容全部读取出来放在内存当中,会占用较多的内存,且不方便我们对…

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述
我们现在有五行数据,我们想删除第三行:pig

删除文本指定行:
删除文本指定行用的是for i in i,找到指定行的关键字,将不包括关键字的其他行放在生成器中,将生成器包含的内容重新写入文件。

我们这里不用readlines是因为for i in f是使用一行读取一行,不会消耗太多的内存。如果使用readlines就会一次性将所有的内容全部读取出来放在内存当中,会占用较多的内存,且不方便我们对单行进行操作。

import os

lines = (i for i in open('test.txt', 'r') if 'pig' not in i )
f = open('test_new.txt', 'w', encoding="utf-8")
f.writelines(lines)
f.close()
os.rename('test.txt', 'test.bak')
os.rename('test_new.txt', 'test.txt')
os.remove('test.bak')

在这里插入图片描述
发现成功把第三行:pig删除了,我们先找到指定行的关键字,然后将其他内容放入生成器中,把生成器中的内容重新写入新的文件,把旧的文件删除,把新的文件改为之前的名字,就相当于删除指定行了。(后来我发现可以先读入内存再修改,此方法更好,可以参考另一篇bolg

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139224.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月30日 上午9:16
下一篇 2022年5月30日 上午9:16


相关推荐

  • Oracle安装配置流程

    Oracle安装配置流程

    2022年1月24日
    87
  • Windows驱动程序开发语言「建议收藏」

    Windows驱动程序开发语言「建议收藏」Windows驱动程序和Win32应用程序一样,都是PE格式,所以说,只要某种语言的编译器能够编译出PE格式的二进制格式文件,并且能够设置驱动程序的入口地址,那么这种语言就可以用来开发Windows驱动程序,所以可以选择C,C++,甚至是Delphi开发。但是由于微软提供的DDK开发环境中的头文件和链接库都是只支持C,C++。因此,大部分时候Windows驱动程序都是用C/C++进行开发的

    2022年10月9日
    5
  • Alluxio的命令行接口

    Alluxio的命令行接口一 命令行接口 普通用户命令 fs 命令行接口 Alluxiov2 6 0Documentati 命令行接口为用户提供了基本的文件系统操作 可以使用以下命令来得到所有子命令 bin alluxiofsUsa alluxiofs genericoptio cat path checkConsist r Alluxiopath 对于用 Allux Alluxiopath path

    2026年3月19日
    1
  • nginx跨域访问配置_cors跨域访问不了

    nginx跨域访问配置_cors跨域访问不了跨域概念简单来说:两个url只要协议、域名、端口有任何一个不同,都被当作是不同的域,相互访问就会有跨域问题。案例例如:在开发前后端完全分离的系统中,服务端代码属于一个工程,前端代码属于另一个工程,前端开发人员在进行接口对接时,可能会在webstorm等工具进行编码,并用webstorm的内置服务器进行调试,这就会有跨域问题,因为,webstorm内置服务器默认前缀部分是http://localhost:63342/,而服务端接口的路径前缀部分一定不会是这样,这样便产生了跨域访问的问题。案例代码

    2022年10月1日
    3
  • linux platform driver register

    linux platform driver registerPlatformDevicesandDrivers~~~~~~~~~~~~~~~~~~~~~~~~~~~~Seeforthedrivermodelinterfacetotheplatformbus: platform_device,andplatform_driver. Thispseudo-busisusedtoconnectdevice

    2022年7月26日
    13
  • 用python编写猴子吃桃问题_python猴子吃桃三种解法

    用python编写猴子吃桃问题_python猴子吃桃三种解法人工智能课内实验报告(8次)学院:自动化学院班级:智能1501姓名:刘少鹏(34)学号:目录课内实验1:猴子摘香蕉问题的VC编程实现……………………1课内实验2:编程实现简单动物识别系统的知识表示………5课内实验3:盲目搜索求解8数码问题………………………18课内实验4:回溯算法求解四皇后问题………………………33课内实验5:编程实现一…

    2026年4月13日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号