注册 登录
编程论坛 Python论坛

#bytearray数组读写问题

bccnMhb 发布于 2023-10-23 16:58, 285 次点击
#bytearray数组读写问题
f=open("binfile.bin","wb")
num=[5, 10, 15, 20, 25]
arr1=bytearray(num) #字符进行字节化
f.write(arr1) #写入bin文件
print(arr1)
f.close()

打印arr1,结果是
bytearray(b'\x05\n\x0f\x14\x19')


从binfile.bin读出来
fx = open('binfile.bin',"rb") # opening a file
lines5 = fx.readlines() # reading all lines 多行读取
print(lines5)
运行结果:
[b'\x05\n', b'\x0f\x14\x19']

arr1和lines5怎么不一样呢?

binfile.bin读出来的值(lines5) ,如何复原为num数组。f=open("binfile.bin","wb")num=[5, 10, 15, 20, 25]arr1=bytearray(num) #字符进行字节化f.write(arr1) #写入bin文件print(arr1)f.close() 打印arr1,结果是bytearray(b'\x05\n\x0f\x14\x19')从binfile.bin读出来fx = open('binfile.bin',"rb") # opening a file lines5 = fx.readlines() # reading all lines 多行读取print(lines5)运行结果:[b'\x05\n', b'\x0f\x14\x19']arr1和lines5怎么不一样呢?binfile.bin读出来的值(lines5) ,如何复原为num数组。
2 回复
#2
沈和2023-10-23 19:11
程序代码:

with open("1.bin", "wb") as f:
    num = [5, 10, 15, 20, 25]
    f.write(bytearray(num))

# readlines 会把数据按照换行符,分成若干部分
with open("1.bin", "rb") as f:
    dat = f.readlines()  # 可以直接使用 f.read(), 它不会分行

buf = b""  # 把多行拼接在一起
for i in dat:
    buf += i

num = list(buf)
print(num)



[此贴子已经被作者于2023-10-23 19:15编辑过]

#3
bccnMhb2023-10-23 19:58
感谢。

[此贴子已经被作者于2023-10-23 20:33编辑过]

1