使用Python,我如何像读取文件一样在内存中读取/写入数据?
问题内容:
我习惯了C ++,并且构建了数据处理类/函数来处理流对象而不是文件。我想知道如何修改以下代码,以便它可以处理内存中的二进制数据流,而不是文件句柄。
def get_count(self):
curr = self.file.tell()
self.file.seek(0, 0)
count, = struct.unpack('I', self.file.read(c_uint32_size))
self.file.seek(curr, 0)
return count
在这种情况下,代码假定self.file
是一个文件,如下所示打开:
file = open('somefile.data, 'r+b')
我怎么可能使用相同的代码,却做这样的事情:
file = get_binary_data()
whereget_binary_data()
返回一串二进制数据。尽管代码没有显示它,但我还需要写到流中(我认为不值得为此发布代码)。
另外,如果可能的话,我也希望新代码也能处理文件。
问题答案: