文件的读写操作

文件操作
文件操作介绍

在实际操作中,通常需要将数据写入到本地文件或者从本地文件中读取数据等操作,那么作为Python爱好者的我们,必须掌握用Python语言去对本地文件进行操作。

本地文件操作步骤

• 找到文件所在位置
• 打开文件
• 操作文件
• 关闭文件

打开文件 open()函数
open()函数语法
open(file, mode='r',encoding=None)   -->  打开文件
完整的语法格式为:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:

file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf-8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
只读模式 r
• f.readable()            --> 判断是否可读,返回值为布尔
• f.read(n)               --> 读取全部,在python3中n为字符数
• f.readline()            --> 逐行读取,包括\n
• f.readlines()           --> 读取所有,返回值为列表,包括\n
• f.tell()                --> 文件指针所处文件位置

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

seek() 方法用于移动文件读取指针到指定位置。
语法:fileObject.seek(offset[, whence])

参数
offset -- 开始的偏移量,也就是代表需要移动偏移的字节数
whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

返回值:如果操作成功,则返回新的文件位置,如果操作失败,则函数返回 -1。
注意
• r模式,当文件不存在时则报错
• 读取不可逆

• w模式,当文件不存在时创建文件
• 再次写入为覆盖

• a模式,当文件不存在时创建文件
• 再次写入为追加
二进制文件写入

• 读取文本文件时,size是以字符为单位。读取二进制文件时,size是以字节为单位
• 我们用rb来读取二进制文件,用wb来写入二进制文件

JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json格式:’{“key”:“value”}’

关闭文件 close()函数

要注意的是,当文件打开之后,必须通过f.close()语句来关闭文件,释放资源。

with open() --> 上下文管理器

with关键字用于Python的上下文管理器机制。为了防止诸如open这一类文件打开方法在操作过程出现异常或错误,或者最后忘了执行close方法,文件非正常关闭等可能导致文件泄露、破坏的问题 。Python提供了with这个上下文管理器机制,保证文件会被正常关闭。在它的管理下,不需要再写close语句。其余操作都同open()一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值