Mit Python, wie ich Lesen/schreiben von Daten im Arbeitsspeicher wie würde ich mit einer Datei?
Bin ich auf C++, und ich Bau meine Daten, Umgang mit Klassen/Funktionen zur Bearbeitung von stream-Objekten anstelle von Dateien. Ich würde gerne wissen, wie ich könnte, ändern Sie den folgenden code, so dass es kann mit einem Strom von binären Daten im Speicher, anstatt auf eine Datei-handle.
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
In diesem Fall, der code wird davon ausgegangen self.file
ist eine Datei, geöffnet in etwa so:
file = open('somefile.data, 'r+b')
Wie könnte ich den gleichen code, doch anstatt etwas wie das hier tun:
file = get_binary_data()
Wo get_binary_data()
gibt eine Zeichenfolge von binären Daten. Obwohl der code wird es nicht angezeigt, muss ich auch das schreiben in den stream (ich glaube nicht, dass es sich lohnt, war die Buchung der code dafür).
Auch, wenn möglich, möchte ich den neuen code, um Dateien zu handhaben als gut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine Instanz von StringIO.StringIO (oder cStringIO.StringIO, schneller), um eine Datei-wie Schnittstelle, um die in-memory-Daten.
Werfen Sie einen Blick auf Python-Modul StringIO, docs hier, was sein könnte ziemlich viel, was Sie nach.
Haben Sie einen Blick auf 'StringIO' (Lesen und schreiben von strings als Dateien)
Verwenden StringIO.
Ich mag das timing der Antwort. (außer mir)
Wir sehen können, die Reaktionszeit in Millisekunden ?