文件处理详解

Posted on 2019-03-04 20:04  杜卡迪S11  阅读(106)  评论(0)    收藏  举报

文件处理之打开文件的方式:

几种模式介绍:

r  :只读模式(需要指定编码,否则会乱码,该模式下“r”可以不写,因为默认模式下就是r模式,前提是文件必须存在,如果文件不存在,就会抛出异常)

w :只写模式(只能写入内容,不能读取内容,该模式下文件可以不存在,不存在的情况下会自动创建一个文件,如果文件存在则会清空之前文件中的内容)

a :追加写模式(不可读,文件可以存在也可以不存在,不存在就创建,存在文件则会向文件中追加新的内容,之前的内容不会清空,一定要制定编码,否则会乱码)

 

b模式下打开文件,读取到的是字节类型,b是bytes的首字母,所以该模式下是字节类型

 

rb: bytes模式下的只读形式,该形式下不需要指定编码,读出来的内容是一堆十六进制数

如下举例:

file = open("a.txt","rb")
res = file.read()
print(res)#运行结果:b'\xe8\xbf\x99\xe6\x98\xaf\xe4\xb8\xaa\xe6\x96\x87\xe4\xbb\xb6'

wb:该模式下写入时需要在前面加上字母b,文件不存在会自动创建,存在则清空之前的内容,写入新的内容

如下举例:

file = open("b.txt","wb")
res = file.write(b'alan')#需要在字符串前面加上字母b,如果不加就会报错
print(res) #运行结果:4

ab:该模式下,文件可存在也可不存在,会向文件中追加新内容,不会清空之前的内容,内容必须是英文

如下举例:

file = open("z.txt","ab")
res = file.write(b'name')#同样需要在追加的内容前面加上字母b,如果不加b就会报错
print(res)#运行结果:4

区别(掌握):

f.read()#读取的是所有的内容
f.readline()#读取的是第一行的内容
res = f.readlines()#读取的是每一行的内容,存放在列表中