在python中将字节转换为BufferedReader
问题描述
我有一个字节数组,希望转换为缓冲读取器。执行此操作的一种方法是将字节写入文件,然后再次读取它们。
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())
相关文章