# open(file, mode='r', encoding)
# file 要操作的文件名字, 类型是str
# mode, 文件打开方式,只读打开r(read)、只写打开w(write)、追加打开a(append)
# encoding, 文件的编码格式, 常见的编码格式有两种,一种是gbk, 一种是utf-8
# 返回值,文件对象,后续的所有文件操作,都需要通过这个文件对象进行
# 以只读的方式打开当前目录中的文件, 如果文件不存在会报错
# 1.打开文件
f = open('1.txt', 'r') # 默认编码是gbk
# 2. 读文件 文件对象.read()
buf = f.read()
print(buf) #打印读到的数据
# 3.关闭文件 文件对象.close()
f.close()
# 以w方式打开文件,文件不存在,会创建文件,文件存在,会覆盖清空原文件
# 1.打开文件
f = open('1.txt', 'w', encoding='utf-8') # 一定要指定编码
# 2. 写文件 文件对象.write(写入文件内容)
f.write('hello world\n')
f.write('hello python\n')
f.write('你好中国\n')
# 3.关闭文件 文件对象.close()
f.close()
# 以a方式打开文件,追加内容,在文件的末尾写入内容
# 文件不存在,会创建文件
# 注意点:不管是a方式打开,还是w方式打开文件,写内容都是使用write()函数
f = open('b.txt', 'a', encoding='utf-8')
# 追加内容
f.write('111\n')
f.close()
# 1. 打开文件
f = open('a.txt', 'r', encoding='utf-8')
# 2. 读写文件 文件对象.read(n) n 一次读取多少字节内容,默认不写,读取全部
buf = f.read(3) # 一次读取三个字节
# 3. 关闭文件
f.close()
图片解说
注意: 1.换行也算一个字节 2.不会重复读取 因为每一次读的时候光标已经在移动了到对应读取的字节位置
# 1. 打开文件
f = open('a.txt', 'r', encoding='utf-8')
# 2. 读写文件
buf = f.readline() # 一次读取一行内容,返回值是读取到的内容(str)
buf = f.readlines() # 一次读取所有行,返回值是列表, 列表的每一项元素都是一个字符串,即一行内容
# 3. 关闭文件
f.close()