打开文件时模式字符的含义:
字符
含义
"r"
以只读方式打开(默认)
"w"
以只写方式打开,若要打开的文件存在,则删除原文件内容。如果不存在,则创建改文件并以只写方式打开
"x"
创建一个新文件,并以写模式打开这个文件,如果文件存在,则会产生“FileExistsError”错误
"a"
以只写模式打开一个文件,如果要打开的文件存在,则要写入的内容追加到文件末尾
"b"
用二进制模式打开文件
"t"
文本模式打开文件(默认)
"+"
为更新内容打开一个磁盘文件(可读可写),不能单独使用,要和其它模式字符结合使用
缺省模式是“rt”
"w+b" ,可以实现二进制的随机读写,当打开文件时,文件内容会被清空
“r+b” ,以二进制读和更新模式打开文件,打开文件时不会清空文件内容
"r+" ,以文本模式读和更新模式打开文件,打开文件时不会清空文件内容
相关方法:
1、open(filename,mode)
参数:filename,文件名,必选,字符串形式。mode,操作模式,可选,默认为 r
作用:打开文件
返回值:返回一个文件流对象,文件流对象可以迭代
eg:f = open("123.txt")
注意:open方法打开文件,结束时一定要关闭 f.close()
1.1 读取文件
s = f.read() #一次性全部读取,对文本文件返回的为字符串。二进制文件返回的是字节串。
s = f.readline() #读取一行,遇到 \n 就返回
s = f.readlines() # 返回每行字符串的列表,
返回的是一个列表,列表的每个元素是一行数据
for s in f:
print(s)
1.2写文件
f = open("123.txt","w") # w ,只写模式,只能写入文件,不能读取文件。
若文件不存在,则创建新的文件。
若文件存在,则写入的时候会覆盖原来文件里面的内容
f.write(str) 参数:要写入的内容,必选,且参数类型必须为字符串
作用:在文件写入内容
返回值:往文件里面写东西的时候,不需要返回值
返回的是写入的字符串长度,即写入的字符长度
注:对二进制文件需要用字节串操作
f.writelines(str) 参数:必选,参数的内容必需为字符串,比如 参数为列表、元组、集合、字典时,其元素的类型必需为字符串
为字典时,写入的是键
作用:将str写入文件
1.3关闭文件
f.close()
1.4 判断文件是否可读写
判断是否可读:d = f.readable() 返回True,可读。False,不可读
判断是否可写:w = f.writeable() 返回True,可写。返回False,不可写
1.5 f.tell()
作用:返回文件当前的读写位置,以字节计算
返回值:数字,代表当前的读写位置
1.6设置读写位置
f.seek(偏移量,whence=相对位置) 对 相对位置的偏移量
偏移量
大于0的数代表向文件末尾方向移动的字节数
小于0的数代表向文件头方向中移动的字节数
相对位置
0 代表从文件头开始偏移
1 代表从文件当前读写位置开始偏移
2 代表从文件尾开始偏移
2、标准输入输出
sys.stdin 标准输入文件
ctrl+d 输入文件结束符
sys.stdout 标准输出文件
sys.stderr 标准错误输出文件
模块名:sys
注:
标准文件不需要打开和关闭就可以使用