非文字类,如图片视频,bytes类型,在rb模式下,不能encoding字符集
f = open(‘345‘,mode=‘rb‘) for line in f: print(f) print(f.readline()) print(f.readline()) print(f.readline()) f.close()
逐行显示
f = open(‘345‘,mode=‘w‘,encoding=‘utf-8‘) p = f.write(‘小崽子‘) print(p,type(p)) f.close()
注意:对于写来说,没有表面的文件没有。则会自动新建一个。若是有这个文件,则会清空原文件内容,再写。
f = open(‘345‘,mode=‘wb‘,) p = f.write(‘小崽子‘.encode(‘utf-8‘)) print(p,type(p)) f.close()
wb与rb类似,wb模式下,不可以指定打开文件的编辑,但是写文件的时候必须将字符串转换成utf-8的bytes数据
只要是a或者ab,a+都是在文件的末尾写入,不论光标在任何位置.
f = open(‘345‘,mode=‘a‘,encoding=‘utf-8‘) p = f.write(‘小混蛋‘) print(p,type(p)) f.flush() f.close()
ab是以bytes类型追加
f = open(‘345‘,mode=‘a‘,encoding=‘utf-8‘) p = f.write(‘小混蛋‘) print(p,type(p)) f.flush() f.close()
对于读写模式,必须是先读后写,因为光标默认在开头位置,当读完了以后再进行写入。使用频率最高的模式就是r+。
f = open(‘345‘,mode=‘r+‘,encoding=‘utf-8‘) print(f.read()) p = f.write(‘小混蛋‘) print(p,type(p)) f.flush() f.close()
f = open(‘345‘,mode=‘w+‘,encoding=‘utf-8‘) print(f.read()) p = f.write(‘小混蛋‘) print(p,type(p)) f.flush() f.close()
先清空原文件内容,再写。再读
a+模式下,不论是先读还是后读,都是读不到数据的
f = open(‘345‘,mode=‘a+‘,encoding=‘utf-8‘) p = f.write(‘小姐姐‘) print(p,type(p)) f.flush() f.close()
原文:https://www.cnblogs.com/zly9527/p/11253229.html