Python

Python的第十一天

一、二进制模式操作文件

1、若给变量赋空值,则用None。 name = None # 空值

 encoding = None ,encoding 告诉你的解释器当前要打开的文件是什么编码,None是解释器默认编码:utf-8

2、用二进制模式打开--图片、视频文件

 rb 2进制只读模式

 wb 2进制创建模式,若文件已存在,则覆盖旧文件

 ab 2进制追加模式,新数据会写到文件末尾

 注:读出来的数据是bytes字节类型,写进去的也必须是bytes格式

 

3、 rb 2进制只读模式

 f = open("20210110125559.jpg",mode="rb")

for line in f:
print(line)

4、
wb 2进制创建模式
f = open("file-wb","wb")
s = "路飞"
f.write(s.encode("utf-8"))

5、ab 2进制追加模式
f = open("name_list ","ab")
s = "wang"
f.write(s.encode("utf-8"))

二、跳到文件任意位置修改
1、def seek :把操作文件的光标移到指定位置,seek是按字节算的,gbk编码 一个中文占两个字节;utf-8编码 一个中文占三个字节
读:
f = open("name_list","r")------------alex
f.seek(2)
print(f.readline())------------------f.seek(2)--ex ; f.seek(3)--x

写:
f = open("name_list","w")    -------- hello1                
f.write("hello1
")                   he----
f.write("hello2 ") hello3
f.write("hello3 ")
f.seek(10)
f.write("----")

2、def tell:返回光标当前位置
f = open("name_list","w")
f.write("hello1 ")
f.write("hello2 ")
print("返回光标当前位置:",f.tell()) ------- 返回光标当前位置:16

3、def flush:把文件从内存缓存强制刷新到硬盘上
f = open("name_list","w")
f.write("line1 ")
f.flush()


 




原文地址:https://www.cnblogs.com/sxy2021/p/14363375.html