Met behulp van buffermodules(StringIO, BytesIO, cStringIO) kunnen we ons voordoen als string of bytes gegevens als een bestand.Deze buffermodules helpen ons om onze gegevens na te bootsen als een normaal bestand dat we verder kunnen gebruiken voor processing.
Tot en met python2.7 gebruikten we cStringIO of StringIO tijdens het omgaan met deze gegevensstoom.Nu in Python 3.x, gebruiken we io.StringIO of io.BytesIO van de io module, aangezien de StringIO, en cStringIO modules niet langer beschikbaar zijn in Python 3.x.
In Python 2.7 was de StringIO module in staat om zowel Byte als Unicode af te handelen, maar in python3 moet je aparte BytesIO gebruiken voor het afhandelen van Byte strings en StringIO voor het afhandelen van Unicode strings.
- io.StringIO vereist een Unicode-string.
- io.BytesIO vereist een bytes-string.
- StringIO.StringIO staat zowel een Unicode- als een Bytes-string toe.
- cStringIO.StringIO vereist een tekenreeks die is gecodeerd als een bytes-string.
Hier een eenvoudig voorbeeld met behulp van io module
Hier elke opeenvolgende schrijven append de gegevens in de stream object net als bestand
Deze methoden van vereist speciale vermeldingen:
getvalue()
Opvragen van de gehele inhoud van het file” op elk moment voordat de close() methode van het file object wordt aangeroepen.
close()
Geef het geheugen buffer vrij en werk gedaan met het buffer object.
seek()
U kunt seek gebruiken om de cursor over de gegevens te bewegen zoals seek(0) voor het begin van het bestand