私はbytearrayを持っていて、バッファリングされたリーダーに変換したいと思っています。これを行う方法は、バイトをファイルに書き込んでから再度読み取ることです。
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'
ローカルディスクに保存せずに、オブジェクトのようなファイルにバイトを読み書きするにはどうすればよいですか?
あなたが探しているのがメモリ内のファイルのようなオブジェクトだけであるなら、私は見ているでしょう
from io import BytesIO
file_like = BytesIO(b'this is a sample bytearray')
print(file_like.read())
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加