首页 > 编程语言 >修改文件内容 python

修改文件内容 python

时间:2024-04-24 18:00:36浏览次数:26  
标签:文件 f1 python 修改 new line txt os

第一种方法,简单直接粗暴的,缺点就是如果文件非常大时,把所有内容都读出来,会非常占用内存:

f = open('a.txt','a+',encoding='utf-8')  # 不能用w+,用w+直接给文件清空了,读不出来内容了
f.seek(0)
result = f.read()
new_result = result.replace('abc','ABC')
f.seek(0)
f.truncate() #清空文件内容
f.write(new_result)
f.close()

第二种方法,读模式打开一个文件1,写模式打开一个文件2,逐条处理文件1中的内容,再逐条写入文件2:

import os
f1 = open('a.txt',encoding='utf-8')
f2 = open('a2.txt','w',encoding='utf-8')
for line in f1:
    new_line = line.replace('abc','ABC')
    f2.write(new_line)
f1.close()
f2.close()
os.remove('a.txt')
os.rename('a2.txt','a.txt')

第二种方法可以简化为下面的写法:

import os
with open('a.txt',encoding='utf-8') as f1,open('a2.txt','w',encoding='utf-8') as f2:
    for line in f1:
        new_line = line.replace('ABC', 'abc')
        f2.write(new_line)
os.remove('a.txt')
os.rename('a2.txt','a.txt')

上述的方法,如果是比较小的文件修改时,用第一种就可以,大文件就需要用第二种方法了

标签:文件,f1,python,修改,new,line,txt,os
From: https://www.cnblogs.com/cindylpp/p/18156033

相关文章

  • 新手下载python和anaconda3注意事项
    新手下载python和anaconda3要注意哪些1、python关于python下载其实很简单,直接在官网下载就行。官网:WelcometoPython.org当然,到了官网下载是默认最新版本,如果你需要旧版本,那就需要找一下了,这里提供一下windows的各版本的官网链接:PythonReleasesforWindows|Python.org......
  • linux命令从log文件中找出404 或者500的所有报错信息?
     你可以使用grep命令结合正则表达式来找出包含"404"或"500"的所有报错信息,并显示这些行的内容。以下是示例命令:grep-E'404|500'/path/to/logfile.log这个命令会在指定的日志文件/path/to/logfile.log中查找包含"404"或"500"的所有行,并将这些行显示出来。g......
  • 深度学习Python代码小知识点(备忘,因为没有脑子)
    现在是2024年4月24日16:58,今天摸鱼有点多,备忘一下,都写到一篇内容里面,免得分散。 1.np.concatenate()函数'np.concatenate'是NumPy库中用来合并两个或多个数组的函数。它可以在任意指定的轴上连接数组,是数据预处理和特征工程中常用的工具。基本语法:numpy.concatenate((a1,a2......
  • WARNING: pip is configured with locations that require TLS/SSL, however the ssl
    pip3安装报错[[email protected]]#pip3install--upgradepipWARNING:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.Requirementalreadysatisfied:pipin/usr/local/python3/lib/python3.11/s......
  • 处理文件的小工具
    处理文件的小工具背景在实际工作中,我们经常需要处理一些文件,比如过滤一些log,找到一批文件中的特定数据等。为了提高工作效率以及灵活性,编写一个小工具来简化这些操作。主要针对程序员,自己可以动态调整方法,这里是一个框架,记录一下,省的以后用的时候找不到了。实现利用委托deleg......
  • ELF文件格式解析器 原理 + 代码
    参考:https://bbs.kanxue.com/thread-259901.htm写在前面:   读《Linux二进制》,发现作者对ELF文件格式部分并没有做详细介绍,为了加深对elf文件格式理解,我自己着手写了个解析器,会和readelf工具协同对比。 原理:  ELF文件(目标文件)格式主要三种:1.可重定向文件(Re......
  • python 实现网页 pdf 转 docx
    1、安装python库pip3installflaskPyPDF2python-docx2、创建一个Flask应用,并编写处理文件上传和转换的代码vimpdf_to_docx.pyimportosfromflaskimportFlask,render_template,request,send_filefromPyPDF2importPdfReaderfromioimportBytesIOfromdocx......
  • 18--Scrapy04--CrawlSpider、源码模板文件
    Scrapy04--CrawlSpider、源码模板文件案例:汽车之家,全站抓取二手车的信息来区分Spider和CrawlSpider注意:汽车之家的访问频率要控制一下,要不然会跳验证settings.py中设置DOWNLOAD_DELAY=3一、常规Spider#spiders/Ershou.pyimportscrapyfromscrapy.linkextra......
  • Python list的交、并、差与排序
    求list的交集、并集、差集set() 函数创建一个无序不重复元素集,通过set可方便求取list的交并差,并可去重#通过set集合>>>list1=[1,2,3]>>>list2=[2,3,4]>>>set1=set(list1)>>>set2=set(list2)>>>set1&set2#交集{2,3}>>>set1|set......
  • 修改元素样式报错:Cannot set properties of undefined (setting 'visibility')
    1、正常书写代码如下:<divclass="cl"><divid="mask"><spanid="close">X</span></div></div><!--JS代码如下--><script>letclose=document.getElement......