打开文件
格式:
open(‘文件名’, mode=‘r’, encoding=’ ')
返回值:文件对象,后续对文件的操作,都需要这个文件对象
mode:
r: 只读打开,read,如果文件不存在,会报错
w: 只写打开,write,如果文件存在,会覆盖原文件
a: 追加打开,append,在文件的末尾写入新的内容
encoding:
utf-8: 将一个汉字转换为3个字节的二进制
gbk:将一个汉字转换为2个字节的二进制
例子:
在目录新建立一个a.txt文件,写入 :好好学习
然后运行代码
f = open('a.txt', mode='r', encoding='utf-8')
b = f.read()
print(b)
结果
关闭文件
格式
文件对象.close()
注意:如果是写文件,会自动保存
读文件
格式
变量 = 文件对象.read()
返回值:返回读取到的文件内容,类型是字符串
readline()读取一行
文件对象.readline()
读取一行数据,返回读取到的数据
例子
with open('a.txt', 'r', encoding='utf-8') as f:
buf1 = f.readline()
print(buf1)
buf2 = f.readline()
print(buf2)
读取大文件
用循环读取文件中的全部内容
with open('a.txt', 'r', encoding='utf-8') as f:
while True:
buf = f.readline()
if buf == "":
break
else:
print(buf)
打开文件的另一种方式:
with open(file, mode, encoding) as 变量:
pass
注意:使用此方式,打开文件会自动进行关闭,不用手动关闭
出了with的缩进之后会自动关闭
例子
with open('a.txt', mode='r', encoding='utf-8') as f:
b = f.read()
print(b)
结果
写文件
格式
文件对象.write()
参数:写入文件的内容
返回值:写入文件的字符数长度
例子