Używając modułów buforowych (StringIO, BytesIO, cStringIO) możemy podszyć się ciąg lub bajtów danych jak plik.Te moduły buforowe pomagają nam naśladować nasze dane jak normalny plik, który możemy dalej używać do przetwarzania.
Do python2.7 byliśmy przy użyciu cStringIO lub StringIO podczas czynienia z tych danych steam.Now w Python 3.x, używamy io.StringIO lub io.BytesIO z modułu io, ponieważ moduły StringIO i cStringIO nie są już dostępne w Pythonie 3.x.
W Pythonie 2.7 moduł StringIO był zdolny do obsługi Byte jak również Unicode Ale w python3 będziesz musiał użyć oddzielnego BytesIO do obsługi łańcuchów Byte i StringIO do obsługi łańcuchów Unicode.
- io.StringIO wymaga łańcucha Unicode.
- io.BytesIO wymaga łańcucha bajtowego.
- StringIO.StringIO pozwala na łańcuch Unicode lub Bytes.
- cStringIO.StringIO wymaga łańcucha zakodowanego jako łańcuch bajtowy.
Tutaj jest prosty przykład z użyciem modułu io
Tutaj każdy kolejny zapis dołącza dane do obiektu strumienia tak jak plik
Te metody wymagają specjalnej wzmianki:
getvalue()
Pobierz całą zawartość pliku file” w dowolnym momencie przed wywołaniem metody close() obiektu file.
close()
Zwolnij bufor pamięci i wykonaj pracę z obiektem bufora.
seek()
Możesz użyć seek do przesunięcia kursora nad danymi jak seek(0) dla początku pliku