[英]Using Python, how do I to read/write data in memory like I would with a file?
我已經習慣了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()
其中get_binary_data()
返回二進制數據字符串。 雖然代碼沒有顯示它,但我還需要寫入流(我認為不值得發布代碼)。
另外,如果可能的話,我也希望新代碼能夠處理文件。
您可以使用StringIO.StringIO (或cStringIO.StringIO ,更快)的實例為內存數據提供類似文件的接口。
看一下Python的StringIO模塊, 這里的文檔 ,這可能就是你所追求的。
看看'StringIO' (讀寫字符串作為文件)
使用StringIO 。
我喜歡答案的時機。 (除了我的)
我們可以看到以毫秒為單位的響應時間?
當然是
StringIO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.