在python中将字节转换为BufferedReader

2022-03-09 00:00:00 python arrays file-io io buffer

问题描述

我有一个字节数组,希望转换为缓冲读取器。执行此操作的一种方法是将字节写入文件,然后再次读取它们。

sample_bytes = bytes('this is a sample bytearray','utf-8')
with open(path,'wb') as f:
    f.write(sample_bytes)
with open(path,'rb') as f:
    extracted_bytes = f.read()
print(type(f))

输出:

<class '_io.BufferedReader'>

但我想要这些类似文件的功能,而不必将字节保存到文件中。换句话说,我希望将这些字节包装到一个缓冲读取器中,这样我就可以对其应用read()方法,而不必保存到本地磁盘。我尝试了下面的代码

from io import BufferedReader
sample_bytes=bytes('this is a sample bytearray','utf-8')
file_like = BufferedReader(sample_bytes)
print(file_like.read())

但我收到属性错误

AttributeError: 'bytes' object has no attribute 'readable'

如何在类似Object的文件中写入和读取字节,而不将其保存到本地磁盘?


解决方案

如果您要查找的是内存中类似文件的对象,我将查找

from io import BytesIO
file_like = BytesIO(b'this is a sample bytearray')
print(file_like.read())

相关文章