簡體   English   中英

使用Python,如何在內存中讀取/寫入數據,就像使用文件一樣?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM