一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

python中open()函数里中文处理 Python中open()函数写和读中文处理 import os def readfile(filename): fp = open(filename,'rb') for f in fp: print(f.decode("utf-8")) fp.close() def wirte(filename): fp = open(filename,'wb') fp.write(U"新写的内容".encode('utf-8')) fp.close() 阅读详情

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。

一、核心功能

‘r’:只读。该文件必须已存在。

‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。

‘rb’:表示以二进制方式读取文件。该文件必须已存在。

‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。

‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。

‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。

‘a’:追加写。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。

‘a+’:追加读写。打开文件方式与写入方式和’a’一样,但是可以读。需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置。(可使用seek() 方法解决这个问题,详细请见下文Model 8 示例)

     看完上面各个模式的释义,可能有的人会觉得一堆文字有些枯燥,我一开始也是觉得如此,but,看似那么多模式,无非是三大类:读r(read),写w(write),追加a(append)。

    当然,我会用尽可能精短的代码为大家解释,文件操作各个模式具体如何使用。请继续往下看。

二、示例解说

Model 1: r —只读模式

注意:test2.txt 必须文件是已存在的。顺便说一下字符编码。因为Windows操作系统默认字符编码为GBK,而Python默认Unicode.utf-8,如果不写“ encoding=‘utf-8’ "就会报错。

Model 2: r+ —可读可写模式

Model 3: rb —以二进制方式读取文件

Model 4: w —只写模式

Model 5: w+ —写读模式

Model 6: wb+ —以二进制方式读写文件

Model 7: a —追加写模式

Model 8: a+ —追加读写模式

三、附加干货

以下是文件操作中常用的一些方法:

print(f.readline()) # 打印一行
print(f.readline(5)) # 打印前5个字符
print(f.tell()) # 打印当前指针位置
print(f.read()) # 读完文件后,指针在最尾处
f.seek(0) # 如要重头到尾再读,文件指针须先回到文件头(0-文件头,默认值; 1-当前位置; 2-文件尾)
print(f.read()) # 重读文件
print(f.encoding) # 打印当前使用的字符编码
print(f.name) # 打印文件名
print(f.flush()) # 刷新
f.truncate() # 清空文件
f.truncate(12) # 从头开始,第12个字符后截断并清除
f.close() # 关闭文件

   以上的知识点,只要你理解并掌握了,以后在Python中进行文件操作的时候就能如行云流水般自然流畅啦~
MNIST机器学习入门 1、下载mnist数据与预处理    下载好的数据集中有60000个训练样本和10000个测试样本。样本的xs为28x28的图像矩阵,标签ys为0~9。现将图像全部展开为长向量(784维),则mnist.train.images是一个形状为 [60000, 784] 的张量,第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点;将标签写为"one-hot vectors", 一个o... 阅读详情

相关推荐

第三方系统(异构系统)基于token身份认证方式访问Ecology9的Restful接口Ecology9服务器配置部分

通过Token的认证方式调用Ecology9系统Restful业务接口服务器配置部分

svsou的专栏 2175

Python_文件操作(文件打开形式,与文件常见方法(读取中文文件),拆分文件任务)

文章目录1.文件打开形式2.文件常见操作open函数打开文件注意:open函数打开中文文件close函数关闭文件read函数读取文件内容tell函数,返回文件指针当前指向seek(offset,from)函数,更改文件指针指向writelines/write函数向文件内写入数据3.文件任务(文件拆分) 1.文件打开形式 r只读 w只写 r+,可读可写。当文件存在时会报错 w+,可读可写。当文件不存在时会新建 a ,追加文件,不可读 a+,追加文件,可读可写 rb 以二进制读模式打

dodamce的博客 1932

稳定双共轭梯度法BiCGSTAB流程

稳定双共轭梯度法BiCGSTAB流程

abner361的博客 1154

Python 文件操作 'w+' 和 'wb'的区别

在文件上传的时候遇到个问题,就是 'w+' 和 'wb' 在文件上传的时候是否回车。 根据项目的实景情况模拟一下区别。 首先说一下 'w+' 和 'wb' 的区别 。'w+' 是文本写入,'wb'是字节写入。 看代码。首先在window 操作系统下。 1.字节 # utf-8 # 模拟上传的文件内容 readFile = b'hello\r\nwolrd' temp = open(...

出埃及记 2万+

52页PPT智慧矿山数字化工业大数据平台建设方案

致力于为煤炭企业构建“全”、“统”、“通”、”智”的(大数据平台/数据中台)体系,基于“数字新基建”时代的数据价值思考,构建全域数字化矿区共享能力中心,助力煤炭企业实现数字化转型,打通底层系统之间数据壁垒,加强公司整体管理和安全生产系数,为运营提供数据统筹模型,实现重点数据实时监控和数据共享开放服务。综上所述,智慧矿山数据治理是一个系统性的工程,需要煤炭企业内各部门连同行业和政府监管部门通力协作,制定数据标准和管理规范,重塑煤炭企业数据架构和数据传输链路,打通智慧矿山数据壁垒,保障数据质量和数据安全。

zuoan1993的博客 1055

蓝桥杯FPGA赛道积分赛

代码如下: 按键驱动 代码如下 按键驱动 代码如下: 顶层文件 按键驱动 数码管驱动 声明:本代码借鉴网络资料,如有侵权和错误请联系作者删除。我是从寒假开始备赛的,由于我基础不行,备赛过程中也是混混呃呃的,备赛效率不高,总体来说备赛不认真,有点拖拉,但是最后我也坚持备赛到了今天,在备赛过程中,即复习了旧的东西,也学到了新的东西,总结起来还是有点收获的,后天北京、天津、河北地区就要进行省赛了,我会全力以赴,不管结果怎么样,尽力就好,最后祝大家都能

weixin_69804913的博客 1990

python中w和wb区别_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。一、各模式逐个分解‘r’:只读。该文件必须已存在。‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。‘rb’:表示以二进制方式读取文件。该文件必须已存在。‘w’:ֻд。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文...

weixin_39901943的博客 2336

【图文步骤】EC-Engineer部分操作详细步骤

EC-Engineer部分功能详细使用手册

weixin_42212468的博客 6172

python中w和wb区别_一篇搞懂python文件讀寫操作(r/r+/rb/w/w+/wb/a/a+/ab)

關於文件操作的幾種常用方式,網上已有很多解說,內容很豐富,但也因此有些雜亂復雜。今天,我就以我個人的學習經驗寫一篇詳細又易懂的總結文章,希望大家看完之后會有所收獲。一、各模式逐個分解‘r’:只讀。該文件必須已存在。‘r+’:可讀可寫。該文件必須已存在,寫為追加在文件內容末尾。‘rb’:表示以二進制方式讀取文件。該文件必須已存在。‘w’:只寫。打開即默認創建一個新文件,如果文件已存在,則覆蓋寫(即文...

weixin_31608037的博客 2726

机器人C++开源库The Robotics Library (RL)使用手册(三)

进入VS工程,我们先看看这些功能函数及其依赖库的分布关系:rl命名空间下,主要有八大模块。搞定VS后将逐个拆解。

qq_34839823的博客 1736

VSCode配置C/C++语言环境(小白专用保姆教程)(超细)

VSCode配置C/C++语言环境(小白专用保姆教程)(超细)

ITQWQ的博客 8229

python读取文件时 wb_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。一、各模式逐个分解‘r’:只读。该文件必须已存在。‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。‘rb’:表示以二进制方式读取文件。该文件必须已存在。‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文...

weixin_33292780的博客 3629

PCL 法向量夹角剔除错误匹配点对【2026最新版】

实现了一种简单的基于对应点法线角度的对应关系去除方法。博客长期更新,本文最新更新时间为:2026年5月24日。

点云侠的博客 41万+

python 写入文件 wb_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。一、核心功能‘r’:只读。该文件必须已存在。‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。‘rb’:表示以二进制方式读取文件。该文件必须已存在。‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原...

weixin_39715460的博客 8807

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python文件的打开方式wb_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。一、核心功能‘r’:只读。该文件必须已存在。‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。‘rb’:表示以二进制方式读取文件。该文件必须已存在。‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原...

weixin_39789370的博客 1882

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab /w/wt / r/rt )

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。 一、核心功能 ‘r’:只读。该文件必须已存在。 ‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。 ‘rb’:表示以二进制方式读取文件。该文件必须已存在。 ‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。 ‘w+’:写读。打开创建新文件并写入数据,如果文件已

阿拉修 6466

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

python文件打开模式rb表示以只读模式打开文件_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

weixin_39610722的博客 1238

(转)一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

一、核心功能 ‘r’:只读。该文件必须已存在。 ‘r+’:可读可写。该文件必须已存在,写为覆盖写(不清空,覆盖与输入等长的部分内容)。 ‘rb’:表示以二进制方式读取文件。该文件必须已存在。 ‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空后覆盖)。 ‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。 ‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。 ‘wb+’:表示以二进制写方式打

weixin_39773337的博客 807

python文件打开模式rb表示只读模式打开文件_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)...

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。一、各模式逐个分解‘r’:只读。该文件必须已存在。‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。‘rb’:表示以二进制方式读取文件。该文件必须已存在。‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文...

weixin_42416490的博客 6836

python 文件打开r_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。一、核心功能‘r’:只读。该文件必须已存在。‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。‘rb’:表示以二进制方式读取文件。该文件必须已存在。‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原...

weixin_39619481的博客 420

python中w和wb区别_一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)-站长资讯中心...

关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。一、各模式逐个分解‘r’:只读。该文件必须已存在。‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。‘rb’:表示以二进制方式读取文件。该文件必须已存在。‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文...

weixin_39692271的博客 496

python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

python文件读写操作

2201_76127536的博客 2165
上一篇: python 服务器 搭建环境
下一篇: json.dumps() 和 json.loads()
大力碗碗
博客等级 码龄7年 9粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值