文件读写模式

"""
补充知识
	1.with语法支持一次性打开多个文件
with open(r'a.txt', 'r', encoding='utf8') as f1, open(r'b.txt', 'r', encoding='utf8') as f2, open() as f3, open() as f4...:
	2.补全python语法 但是不执行任何操作
		pass 推荐使用
		...  不推荐使用
	3.通常情况下英语单词的结尾如果更上了able表示具备该单词描述的能力
		readable  具备读取内容的能力
		writable  具备填写内容的能力
"""
r	只读模式		默认的模式
	使用该模式打开的文件只能读取内容 不能做其他操作(写)
	
	 # 文件路径不存在: r模式直接报错
    # with open(r'c.txt', 'r', encoding='utf8') as f:
    #     pass
    # 文件路径存在: r模式会打开文件等待读取文件内容
    with open(r'a.txt', 'r', encoding='utf8') as f:
        # print(f.read())
        f.write('123')

w   只写模式
	使用该模式打开的文件只能写内容 不能做其他操作(读)
    
	 # 文件路径不存在: w模式会自动创建该文件
    # with open(r'c.txt', 'w', encoding='utf8') as f:
    #     pass
    # 文件路径存在: w模式会先清空该文件内容 之后等待填写新内容
    with open(r'a.txt', 'w', encoding='utf8') as f:
        pass
    
a	只追加模式
	使用该模式打开的文件默认是在末尾追加新的内容 不能做其他操作(读)
    
    # 文件路径不存在: a模式会自动创建该文件
    # with open(r'd.txt', 'a', encoding='utf8') as f:
    #     pass
    # 文件路径存在: a模式不会先清空该文件内容 只在在文件末尾等待填写新内容
    with open(r'b.txt', 'a', encoding='utf8') as f:
        f.write('不要蒙圈 好好听课\n')

文件的操作模式

t	文本模式
	文件操作的默认模式
    	r		rt
		w		wt
		a		at
	1.只能操作文本文件
	2.必须指定encoding参数
	3.读写都是以字符串为单位

b	二进制模式
		rb wb ab  必须自己指定 不能省略
 	1.能够操作所有类型的文件	
	2.不需要指定encoding参数
	3.读写都是以bytes为单位

文件的诸多操作方法

read()  一次性读取文件内容并且光标会停留在文件末尾 继续读则为空
	"""当文件数据较大的时候 不推荐一次性读取"""
	for line in f:
        print(line)  文件对象支持for循环 一次只读一行
readline()  一次只读一行内容
readlines()  按照行的方式读取所有的内容并组织成列表返回
readable()  判断当前文件是否可读
writable()  判断当前文件是否可写
write()    填写文件内容
writelines() 支持填写容器类型(内部可以存放多个数据值的数据类型)多个数据值
flush()  将内存中的文件数据立刻刷到硬盘(主动按ctrl+s)