文件操作和操作模式
文件操作
1.文件的基本操作(open)
方式一(不推荐,需要手动关闭):
例:
1 f = open(r'存储文件.txt', 'r', encoding='utf-8') 2 print(f) # 系统打开文件的步骤 3 res = f.read() # 用读取方式使用文件 4 print(res) 5 6 f.close() # 关闭文件
方式二(推荐):
with上下文管理器
例:
1 with open(r'存储文件.txt', 'r', encoding='utf8') as f: 2 print(f.read()) # 自动关闭
2.文件的读写模式
r:read(读)
w:write(写)
a:append(追加写)
1.读模式( r )
1.如果路径不存在,会报错
2.路径存在
例:
1 with open(r'存储文件.txt', 'r', encoding='utf8') as f: 2 print(f.read()) # 自动关闭
2.写模式( w )
写文件的数据类型必须是字符串类型,和字节类型,其他类型都不能直接写入
1.如果路径不存在,会自定创建出文件
2.如果路径存在,会把文件内原本的数据覆盖掉,然后重新写入
例:
1 with open(r'存储文件.txt', 'w', encoding='utf8') as f: 2 f.write(str(123))
3.追加模式( a )
1.如果路径不存在,会自动创建出文件
2.如果路径存在,会在原来的数据后面追加新的数据
例:
1 with open(r'存储文件.txt', 'a', encoding='utf8') as f: 2 f.write(str(123))
3.文件的操作方法
1.读系列( read、readline、readlines、readable)
1.read(读出全部)
将文件一次性全部读出
f.read( )
2.readline(读出一行)
一次只读出文件内一行内容
f.readline( )
3.readlines(读成列表)
一次将文件内容全部以列表的形式读出来,每一行构成列表的元素
f.readlines( )
4.readable(是否能读)
判断文件是否具备读的能力,并返回布尔值
2.写模式(writable、writelines)
1.writable(是否能写)
判断文件是否具备写的能力
2.writelines(以列表写入)
将列表里的多个元素追加在文件中
4.文件的读操作优化(for)
因为我们要一次性读出文件内容时,用read当文件过大时会导致内存超载,所以使用for循环,一行一行的读出文件
例:
1 with open(r'存储文件.txt', 'r', encoding='utf8') as f: 2 for line in f: 3 print(line)
文件的操作模式
1. t模式:只适用text文本
它由于是以字符串位基单位,所以只能操作字符串形式的,encoding参数必须写
r >>>> rt
w >>>> wt
a >>>> at
2. b模式:bytes二进制模式
b不能省略,必须写rb,它什么类型的数据都可以操作,encoding参数必须不能写,它是以字节为单位的
r >>>> rb
w >>>> wb
a >>>> ab