**
文件IO基本操作
- 文件打开:
fileObj = open(filePath,model='')
- model: 文件的打开模式
-
r
: 只读模式打开(默认打开模式) -
w
: 只写模式打开(会新建一个空文件,无论之前是否存在同名文件) -
x
: 创建模式打开(新建文件,存在同名文件则报错) -
a
: 追加模式打开(指针指向文件的EOF处,开始追加内容)
-
- 文件模式:
-
t
: 以文本模式处理(默认),主要编码格式(gbk:两字节,utf-8:三字节) -
b
: 以二进制模式处理(bytes类型)
-
- model: 文件的打开模式
- 文件关闭:
fileObj.close()
- 与open配对出现
- 可以使用with语法来自动关闭文件
-
closed
: 关闭文件描述符,True表示文件已经关闭
- 文件读取:
fileObj.read(int)
-
int
: 省略不写表示从当前指针到文件末尾,具体数值表示num个字节/字符
-
- 文件写入:
fileObj.write(str/bytes)
- 文本模式: 输入字符串,写完后指针在文件的EOF处,返回字符/字节数量
- bytes模式: 输入bytes文件,写完后指针在文件的EOF处
- 英文字符:b'abdjadj' / 'afadfa'.encode()
- 中文字符:'交罚款了多少'.encode()
- encode: 默认是
utf-8
编码格式
- encode: 默认是
- 行读取:
fileObj.readline()
- 默认读取一行内容,输入参数表示一次读入的字符/字节数量
- 多行读取:
fileObj.readlines()
- 读取文件的所有行的列表,输入参数表示返回指定的行数
- 指针操作:
fileObj.seek(int [,when])
-
when
: 有三种模式0、1、2-
0
: 表示从文件开始,偏移int个字符/字节(int只能是整数,可以>字符数) -
1
: 表示从当前位置开始偏移- 文本模式下:int只能是0
- 二进制模式下:int可正可负(不能超出文件头指针)
-
2
: 表示从EOF位置开始偏移- 文本模式下:int只能是0
- 二进制模式下:int可正可负(不能超出文件头指针)
-
-
- 指针位置:
fileObj.tell()
文件权限查询
-
seekable()
: 文件指针是否可以移动 -
readable()
: 文件是否可读 -
writable()
: 文件是否可写