python-IO编程,文件读写
一、文件读写
1、打开文件
函数:open(name[. mode[. buffering]])
参数:
- name:必须;文件的文件名(全路径或执行文件的相对路径。))
- mode:可选;对文件的读写模式,默认是读模式。
- buffering:可选;默认无缓冲区。
返回:一个文件对象
实例:
- fileObject = open(r'c:\123.txt'),注意小写的字母‘r’,表示字符串是字符本身,没有转义等特殊含义。
- fileObject = open('c:\\123.txt'),反斜杠两个表示一个‘\’。
2、文件模式
mode参数:
- ‘r’:读模式
- ‘w’:写模式
- ‘a’:追加模式
- ‘b’:二进制模式(可添加到其他模式中使用)
- ‘+’:读/写模式(可添加到其他模式中使用)
‘r’,只读。
‘w’,写,原内容被替换。
‘a’,在原内容后追加内容。
‘b’,对文本一般用不上,但处理其他类型的文件(二进制的),例如:MP3,图片;‘rb’:读取二进制。
3、文件缓冲区
buffering参数:
- 0:无缓冲区
- 1:有缓冲区,有换行符就把内存的中的数据写到文件
- 大于1的数字:缓冲区的大小;超过缓冲区了就把内存数据写到文件
- -1:默认缓冲区大小
无缓冲,直接将数据写到硬盘上。
有缓冲,数据先写到内存里,只有使用flush函数或者close函数才会将数据更新到硬盘。
4、文件读取
文件读取分为按字节读取和按行读取。
常用函数:
- read():
- readline()
- close()
file = open('c:\\123.txt')
#读取文件全部内容到内存
file.read() #返回str类型的对象,可以传参数,一个正整数,代表读取一次最多读取的字节数
#读取文件的一行数据
file.readline()
for line in file.readline():
print(line.strip())
#关闭会文件的引用
file.close()#文件对象会占用操作系统资源,影响系统的IO操作;文件使用完毕后必须关闭。
保证程序的健壮性,使用try...finally实现文件读/写
try: file = open('c:\\123.txt') print(file.read()) finally: if file: file.close() #第二种写法 with open('c:\\123.txt') as file: print(file.read())
5、文件写入
读取文件时需要对mode参数传参,‘w’或‘wb’
使用‘wb’参数值,文本文件按二进制读写,如果有缓存,write函数写到内存,如果没有缓存,写到文件。
flush函数把内存中的数据写到文件。close函数把内存中的所有数据写到文件。
写文件也需要使用try...finally 或者with语句编写代码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】