StringIO和BytesIO

一、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'
發佈了183 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章