百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

python文件读写方式

wptr33 2025-01-02 19:37 33 浏览

1、读写模式的理解,前面文件讲的很简洁、很清晰,如果不太清楚可以点击【文件的读写模式】了解一下

  • 【r】解读:必须有文件,从最开始读
  • 【r+】解读:必须有文件,从最开始读,从最开始写(覆盖写)
  • 【w】解读:无文件创建,从最开始写(清空写)
  • 【w+】解读:无文件创建,从最开始写(清空写),读不到内容(因为w先清空内容了)
  • 【a】解读:无文件创建,从末尾写(追加写)
  • 【a+】解读:无文件创建,从末尾写(追加写),读不到内容(因为光标在末尾,可用seek移动光标

2、文件读写常用方法

  • f.write('string') # 写入字符串 "string",返回值是字符串的长度6。
  • f.read() # 从文件读取所有字符串,如果f.read(6)则读取6个字节。
  • f.readline() # 从文件读取整行,包括换行符 "\n" 字符。
  • f.readlines() # 读取所有行返回列表,列表元素是每行内容。f.readlines(7) 读取到第7个字节所在行。
  • f.flush() # 把内部缓冲区的数据立刻写入文件。
  • f.close() # 关闭文件(有写入的功能)。
  • f.tell() # 获取光标(指针)位置。
  • f.seek(offset, whence) # 设置文件当前光标(指针)的位置。f.seek(0,0) 把光标设置在文件开。offset:偏移量(字节数);whence:可选,默认值为 0。0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起

3、文件读写

文件读写分三步:打开-->读写-->关闭

打开用内置函数open(),参数有很多重点了解常用的三个

open(file, mode='r', encoding=None)

  • fill:文件路径
  • mode:【读写模式】
  • encoding:编码类型

第一种读写方式



第二种读写方式(一般都这样用)

上下文管理器 with as: 资源创建与释放

  • with open() as f: 这种方式读写,避免了忘记写关闭文件代码 f.close()。
  • with 自动调用 __enter__(),将方法的返回值赋给as后面的变量,相当于 f = open()。
  • with 代码块全部执行完毕后,将调用前面返回对象的 __exit__()方法,相当于f.close()。

迭代器方式:占用内存较小,可适用大小文件


相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...