一、SringIO
1、寫入數據
from io import StringIO
f=StringIO()
print(f.write('hello world'))#返回寫入字符的個數12
#獲取寫入的數據
print(f.getvalue())#hello world
2、讀取數據
from io import StringIO
s=StringIO('good bye')
for i in s.read():
print(i)
#g
#o
#o
#d
#
#b
#y
#e
二、BytesIO
StringIO操作的只能是str,如果要操作二進制數據,就需要使用BytesIO。
BytesIO實現了在內存中讀寫bytes,我們創建一個BytesIO,然後寫入一些bytes
1、寫入BytesIO
from io import BytesIO
f=BytesIO()
print(f.write('我愛你中國'.encode('utf-8')))#返回的字節數15
#請注意,寫入的不是str,而是經過UTF-8編碼的bytes。
print(f.getvalue())#b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xe4\xb8\xad\xe5\x9b\xbd'
2、讀取BytesIO
from io import BytesIO
f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
f.read()
#b'\xe4\xb8\xad\xe6\x96\x87'