python之操作文件
python之操作文件
介绍 🍀
在磁盘上读写文件的功能都是由操作系统提供的 , 现代操作系统不允许普通的程序直接操作磁盘 , 所以 , 读写文件就是请求操作系统打开一个文件对象 (通常称为文件描述符) ; 然后 , 通过操作系统提供的接口从这个文件对象中读取数据 (读文件) , 或者把数据写入这个文件对象 (写文件)
在Python中我们进行文件操作需要首先利用open() 函数获取一个文件流来操作文件
这个流就是我们所使用的文件描述符 , 是一个I/O通道
open() 🍀
1 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None): 2 """ 3 file:文件名 4 mode:模式 5 buffering:设置缓冲策略 6 encoding:指定使用编码 7 errors:指定处理编码和解码错误的方式 8 newline:控制通用换行模式的工作方式(只适用文本模式) 9 closefd:如果为False并且给出了文件描述符而不是文件名,则文件关闭时,文件描述符将保持打开;如果给定文件名,则closefd必须为True,否则将抛出异常 10 opener:自定义开启器 11 """
对于上述参数中 , 我们主要需要了解的就是file , mode , encoding 这三个
对于mode , 有以下模式 :
常使用的就是'r' , 'w' , 'a' , '+' , 'b' , 当然还可以组合使用 , 下面进行详细介绍 :
- r , 只读模式 , 文件必须已经存在
- r+ , 可读可写模式 , 文件必须已经存在
- w , 只写模式 , 会重新创建 , 意味着文件如果已存在会被空文件覆盖
- w+ , 可写可读模式 , 同样会创建文件
- a , 追写模式 , 文件不存在参考'w'
- a+ , 追写并可读模式 , 文件不存在参考'w'
- b , 以二进制的模式进行处理 (Linux可忽略 , Windows处理二进制文件时需标注) , 可以用该模式来读取图片 , 视频等等
- rb , 同r
- wb , 同w
- ab , 同a
简单实例
file.txt
A man is not old until his regrets take place of his dreams. Nothing can help us endure dark times better than our faith. No one but ourselves can degrade us.
实例
f = open('file.txt','r') contents = f.read print(contents) ''' 执行结果: A man is not old until his regrets take place of his dreams. Nothing can help us endure dark times better than our faith. No one but ourselves can degrade us. '''
with 🍀
为了避免打开文件后忘记手动关闭 , 可以通过管理上下文 , 即使用with语句 , 如下 :
with open('filepath','mode') as f: pass
在Python 2.7以上的版本 , 支持同时对多个文件同时进行上下文管理 , 如下 :
with open('filepath1','mode') as f1,open('filepath2','mode') as f2: pass
浙公网安备 33010602011771号