首页 > 编程语言 >使用Python同时读取和写入同一个文件

使用Python同时读取和写入同一个文件

时间:2022-10-14 15:36:14浏览次数:58  
标签:文件 读取 Python 写入 模式 file 打开

前言

在平时想要使用python修改文件部分内容的时候,常用的做法是使用open函数(默认模式为read)打开一个文件,然后关闭文件,然后再使用write模式去写入更新的内容,最后关闭。这样做非常的不优雅,因为重复打开两次。

根据Pytnon官方文档对open函数给出的解释如下:

官方解释

字符

含意

'r'

读取(默认)

'w'

写入,并先截断文件

'x'

排它性创建,如果文件已存在则失败

'a'

打开文件用于写入,如果文件存在则在末尾追加

'b'

二进制模式

't'

文本模式(默认)

'+'

打开用于更新(读取与写入)

默认模式为 'r' (打开文件用于读取文本,与 'rt' 同义)。'w+''w+b' 模式将打开文件并清空内容。而 'r+''r+b' 模式将打开文件但不清空内容。

最佳解决方案

所以我们可以使用r+模式去同时读写一个文件,但是有另外一个文件,就是读取后指针的位置是落在最后的,我们是更新操作,所以需要调用seek函数将指针打到0的位置。

with open('filepath.txt', mode='r+', encoding='utf-8')as file:
    data = file.read()
    # 在这里编写代码
    file.seek(0)
    file.write(data)

标签:文件,读取,Python,写入,模式,file,打开
From: https://www.cnblogs.com/huanghongzhe/p/16791713.html

相关文章

  • Python实战—自行车租赁数据分析
    本节选取自行车的租赁数据,利用numpy、pandas、matplotlib三个库,数据清洗后,做数据分析,研究时间段与自行车租赁的关系。数据来源  本节以自行车的租赁数据为例,数据来源于网......
  • python实现批量下载配图王的美女图片
    importrequestsimportrefrombs4importBeautifulSoupimportrandom#生成随机数#foriinrange(5):#print(random.randrange(100000000))headers={......
  • 【python】准点跑路人必备小程序~ 不信你用不到
    前言嗨喽,大家好呀~这里是爱看美女的茜茜呐又到了学Python时刻~有时候下班~忙着跑路,忘记关电脑,逮到了会被老板扣工资!!怎么办?python带你制做一个小程序,到点自动关机~再......
  • Python实战—单词量评估
    今天,2019年上半年的四六级成绩出来了你过了吗?点击链接进行成绩查询​​http://cet.neea.edu.cn/cet/​​对于四六级的成绩总是几家欢乐几家愁如果这次没过下次一定要加油鸭!......
  • python pip下载包升级pip install --upgrade
    解决:如果使用pip下载命令, 下载失败 提示  根据提示:输入python-mpipinstall--upgradepip 升级本本,但是执行pipinstall--upgradepip还是报这个错误......
  • linux 安装python
    wgethttps://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgztarvxzfPython-2.7.18.tgzcdPython-2.7.18yuminstallgccg++make./configuremake&&......
  • Python 中isinstance的用法
    isinstance()函数用来判断一个对象是否是一个已知的类型.isinstance(object,classinfo)类似type().isinstance()与type()区别:type()不会认为子类是一种父类类型,不......
  • Python中用With open as 实现对文件的操作
    withopenasf在Python中用来读写文件(夹)。基本写法如下:withopen(文件名,模式)asf:f.write(内容)#写操作例:withopen('这个文章.txt,'w')asf:f.write('你好')with......
  • Python 函数为什么会默认返回 None?
    Python有一项默认的做法,很多编程语言都没有——它的所有函数都会有一个返回值,不管你有没有写return语句。本文出自“​​Python为什么​​​”系列,在正式开始之前,我们就......
  • Python进阶:全面解读高级特性之切片!
    导读:切片系列文章连续写了三篇,本文是对它们做的汇总。为什么要把序列文章合并呢?在此说明一下,本文绝不是简单地将它们做了合并,主要是修正了一些严重的错误(如自定义序列切片的......