1 文件I\O和文件分类
1.1 文件I\O
I/O:程序数据的输入输出
I:Input,输入,将文件中的数据输入到程序中
O:Ouput,输出,将程序中的数据输出到文件中
1.2 文件分类
按照文件类型分类
- 视频文件、音频文件、图片文件、word文档等…
按文件的底层数据组成分类
- 底层字节组成的文:二进制文件
- 底层字符组成的文件:文本文件
判断方式:
- 记事本打开是否是乱码
2 文件读写
打开文件使用python内建函数:
open(file, mode, encoding)
# 打开文件的函数:按照指定的mode方式和encoding编码,打开系统上的file文件
"""
1) 参数
file:需要操作的文件名称[可以包含全路径/或者只是文件名称(当前文件夹)]
mode:文件操作方式
r:read 打开并且读取文件内容【默认参数】,文件不存在会报错
w: write 打开并且向文件中写入内容(覆盖写入) [如果文件不存在,创建一个新文件,但不会创建目录] [每次打开文件写入内容,都会覆盖原来的内容],要注意w方式打开文件就会将原内容删除
a: append 打开并且向文件中追加内容(追加写入),指针在文件结尾
t: text 打开一个文本文件进行操作【默认参数】
rb/wb/ab: binray 操作二进制文件
r+/rb+/w+/wb+/a+/ab+:读写模式
2)encoding:文件编码
按照指定的编码方式,进行文件读写就不会出现文件乱码!
编码一般指代的都是字符的编码,所以在操作文本文件的读写时,一定要注意指定编码方式。(ASCII、GB2312、UTF-8等)
"""
2.1 文本文件读写
- 读取文件:
# 打开文件(这里是打开当前文件夹下的test.txt文件,如果在其他文件夹则要输入路径)
file = open("test.txt", mode="r", encoding="utf-8") # 得到一个迭代对象,可以循环读取,每次读取一行
# 读取文件
# read():读取文件中的所有内容
# read(size):读取文件中的指定字节的内容(文本文件读取一般不需要),可指定大小或字符串个数
# readline():一次读取一行内容,每一行末尾会读到\n,可指定字符长度,下一次会续上次继续往下读取
# readlines():读取所有文本内容,按照行存储在一个列表中,,需要遍历出来
content = file.read()
# 打印内容
print(content) # 莫辞更坐弹一曲,为君翻作《琵琶行》。
# 关闭文件(一定要记得)
file.close()
- 文件写入
# 打开文件(这里是打开当前文件夹下的test.txt文件,如果在其他文件夹则要输入路径)
# w: 打开并且向文件中写入内容[如果文件不存在,创建一个新文件] [每次打开文件写入内容,都会覆盖原来的内容]
# a: 打开并且向文件中追加内容
file = open("test.txt", mode=