一、文件编码
文本 / 图片 / 音频 / 视频 内容 通过 " 编码技术 " , 将内容翻译成 二进制 数据 , 存储到 磁盘中 ;
- 文本 一般通过 ASCII / GBK / BIG5 / UTF-8 等编码技术 , 将文本转为 二进制数据 并进行存储 ;
- 图片 通过 PNG / JPEG 等编码技术 , 将图片转为 二进制数据 并进行存储 ;
- 音频 通过 PCM / AAC / MP3 等编码技术 , 将音频转为 二进制数据 并进行存储 ;
- 视频 通过 H.264 / MP4 等编码技术 , 将视频转为 二进制数据 并进行存储 ;
文件编码 是 将内容 转成 二进制数据 的规则 , 通过 该规则还可以将 二进制数据 转为 文件内容 ;
二、打开文件
在 Python 中 , 操作文件 的流程如下 :
- 打开文件
- 读写文件
- 关闭文件
1、open 函数
使用 open 函数 , 可以打开文件 , 如果该文件不存在 , 则会创建一个新文件 ;
open 函数原型如下 :
代码语言:javascript复制open(name, mode, encoding)
- name 参数 : 要打开的文件的路径 , 可以包含目录名称和文件名称 ;
- mode 参数 : 文件访问模式 , 有如下访问模式 :
- 只读 : r 模式 , 以只读方式打开 , 文件指针在文件头位置 , 默认模式 ;
- 只写 : w 模式 , 以只写方式打开 ,
- 如果文件已经存在则直接打开文件 , 从开始位置编辑 , 原来的内容会被删除 ;
- 如果不存在 , 则创建新文件写入 ;
- 追加 : a 模式 , 以追加方式打开 ,
- 如果文件存在 , 新内容会被写入到文件末尾 ;
- 如果文件不存在 , 则创建新文件写入 ;
- encoding 参数 : 编码格式 , 一般都设置为 UTF-8 ;
2、代码示例 - 使用 open 函数打开文件
代码示例 :
代码语言:javascript复制"""
文件操作 代码示例
"""
file = open("file.txt", "r", encoding="UTF-8")
print(type(file)) # <class '_io.TextIOWrapper'>
在上面的代码中 , open 函数的第一个参数是文件名 , 第二个参数是打开模式 为 “r” , 表示以只读模式打开文件 , 第三个参数表示该文件的编码是 UTF-8 编码 ;
encoding 参数并不是第三个参数 , 不能使用位置参数 , 必须使用关键字参数指定 ;
获取的 file 文件类型是 _io.TextIOWrapper , 借助该对象可以完成对文件的操作 ;
上述代码执行结果 :
代码语言:javascript复制D: 01_Develop 22_PythonPython39python.exe D:/002_Project/011_Python/HelloPython/Hello.py
<class '_io.TextIOWrapper'>
Process finished with exit code 0