I'm trying to understand the write() and read() methods of io.BytesIO. My understanding was that I could use the io.BytesIO as I would use a File object.
import io
in_memory = io.BytesIO(b'hello')
print( in_memory.read() )
The above code will return b'hello' as expected, but the code below will return an empty string b''.
import io
in_memory = io.BytesIO(b'hello')
in_memory.write(b' world')
print( in_memory.read() )
My questions are:
-What is io.BytesIO.write(b' world')
doing exactly?
-What is the difference between io.BytesIO.read() and io.BytesIO.getvalue()?
I assume that the answer is related to io.BytesIO being a stream object, but the big picture is not clear to me.