Python入门 - 二进制文件读写

常用操作

 

哪些是二进制文件? 

图片,音频,视频等,这些都是二进制文件

 

f1 = open("test.bin", "wb")
print(f1.name) # test.bin
print(f1.closed) # False
print(f1.mode) # wb
print(f1.readable()) # False
print(f1.writable()) # True
print(f1.seekable()) # True

f1.write(bytes("123abc中文", "utf-8"))
print(f1.tell()) # 12
f1.close()
# print(f1.writable()) # closed后调用会抛异常
# print(f1.seekable()) # closed后调用会抛异常

 

f1 = open("test.bin", "rb")
print(f1.name) # test.bin
print(f1.closed) # False
print(f1.mode) # rb
print(f1.readable()) # True
print(f1.writable()) # False
print(f1.seekable()) # True
print(f1.tell()) # 0

# 读取3个byte
print(f1.read(3)) # b'123'
print(f1.read(3)) # b'abc'
# 读取1个byte
print(f1.read(1)) # b'\xe4'
print(f1.read(1)) # b'\xb8'
print(f1.read(1)) # b'\xad'
print(f1.read(3)) # b'\xe6\x96\x87'
# 移到到文件头
f1.seek(0, 0)
# 读取所有字节
print(f1.read()) # b'123abc\xe4\xb8\xad\xe6\x96\x87'
print(f1.tell()) # 12
f1.close()

 

文件大小

# 获取文件大小
r = os.path.getsize("test.bin")
print(type(r)) # <class 'int'>
print(r) # 12

 

posted @ 2023-07-24 22:24  yanghui01  阅读(108)  评论(0编辑  收藏  举报