Using Python, how do I to read/write data in memory like I would with a file?
我习惯于C,我建立了数据处理类/函数来处理流对象而不是文件。我想知道如何修改以下代码,以便它可以处理内存中的二进制数据流,而不是文件句柄。
1 2 3 4 5 6 | 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 |
在这种情况下,代码假定
1 | file = open('somefile.data, 'r+b') |
我应该如何使用相同的代码,而要做类似的事情:
1 | file = get_binary_data() |
其中
此外,如果可能的话,我也希望新代码也能够处理文件。
您可以使用StringIO.StringIO的实例(或更快的cStringIO.StringIO)为内存数据提供类似文件的接口。
在这里查看python的StringIO模块,可能是您想要的。
使用StringIO。
看看'StringIO'(将字符串作为文件读取和写入)
我喜欢答案的时机。 (我的除外)
我们可以看到以毫秒为单位的响应时间吗?
of-course
StringIO