文件概念和作用
什么是文件?文件就是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口
- 计算机中的文件,就是存储在某种长期存储设备上的一段数据
- 长期存储的设备包括:硬盘、U盘、移动硬盘、光盘等
- 将数据长期保存下来,在需要的时候使用
- 在计算机中,文件是以二进制方式保存的
文件类型
- 文本文件:可以使用文本编辑器查看,本质上还是二进制文件
- 二进制文件:不能使用文本编辑器查看,需要使用对应解释器查看(图片、音频、视频)
为何要用文件?用户/应用程序可以通过文件将数据永久保存到硬盘中,即操作文件就是操作硬盘。直接操作的是文件,对文件进行的所有操作,都是在向系统发送系统调用,然后再由操作将其转换成具体的硬盘操作
文件操作流程
- 打开文件:open
- 读取文件:read
- 写入文件:write
- 关闭文件:close
open(file, mode='r', buffering = -1, encoding=None, errors=None, newline=None,closefd=True, opener=None)
参数 | 参数说明 |
---|---|
file | 必需,文件路径(相对或者绝对路径) |
mode | 可选,文件打开模式 |
encoding | 一般使用utf-8 |
buffering | 设置缓冲 |
errors | 报错级别 |
newline | 区分换行符 |
closefd | 传入的file参数类型 |
文件读取方式
read([size])
- read([size]):传递参数,读取指定的字节数;如果未给定或为负则读取所有;返回为字符串
- 文件指针会移动到文件内容的末尾,执行之后不会再读取到文件内容
- 适用于文件内容较少
readline([size])
- readline():每次执行会读取一行内容,包含“\n"字符串;返回为字符串内容
- 读取完后指针会移动到文件末尾
- 指定参数,则返回指定大小的字节数
- 可与循环结合使用
file = open("readme.txt", encoding="utf-8")
while True:
text = file.readline() # 无限循环读取,条件为真时
# 判断是否读取到内容
if not text:
break # 如果没有读取到内容,就停止
print(text)
file.close()
readlines([sizeint])
- reaslines([sizeint])