2.2.3.2Python-StringIO和BytesIO

總目錄:http://m.itdecent.cn/p/e406a9bc93a9

Python - 子目錄:http://m.itdecent.cn/p/50b432cb9460

如果我們希望有一些信息,不存在磁盤中,在內(nèi)存中就將它完成,最后再存到磁盤內(nèi)。

我們就需要StringIO和BytesIO了。

StringIO

我們來看一個(gè)實(shí)例

from ioimport StringIO

f = StringIO()

f.write('hello')

f.write(' ')

f.write('world!')

print(f.getvalue())

hello world!


f1 = StringIO('Hello!\nHi!\nGoodbye!')

print(f1.getvalue())

Hello!?

Hi!

Goodbye!?

方法很簡單,我們只需要先創(chuàng)建一個(gè)StringIO,之后就可以寫入一下信息,最后使用getvalue()就可以獲取到內(nèi)部的信息。

我們可以在創(chuàng)建時(shí)直接寫入,也可以先創(chuàng)建好后一步一步寫。


BytesIO

StringIO操作的只能是str,如果要操作二進(jìn)制數(shù)據(jù),就需要使用BytesIO。

其他地方和StringIO差不多。

from ioimport BytesIO

f1 = BytesIO()

f1.write('中文'.encode('utf-8'))

print(f1.getvalue())

b'\xe4\xb8\xad\xe6\x96\x87'

f2 = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')

print(f2.getvalue())

b'\xe4\xb8\xad\xe6\x96\x87'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • StringIO StringIO顧名思義就是在內(nèi)存中讀寫str。要把str寫入StringIO,我們需要先創(chuàng)建一...
    牛崽兒酷閱讀 235評(píng)論 0 0
  • (一)stringIO 很多時(shí)候,數(shù)據(jù)讀寫不一定是文件,也可以在內(nèi)存中讀寫。 StringIO顧名思義就是在內(nèi)存中...
    冬gua閱讀 1,690評(píng)論 0 0
  • (一)stringIO 很多時(shí)候,數(shù)據(jù)讀寫不一定是文件,也可以在內(nèi)存中讀寫。 StringIO顧名思義就是在內(nèi)存中...
    a荷包蛋閱讀 1,035評(píng)論 0 0
  • 基礎(chǔ)1.r''表示''內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義2.'''...'''表示多行內(nèi)容3. 布爾值:True、False(...
    neo已經(jīng)被使用閱讀 1,889評(píng)論 0 5
  • logging 1.把print()替換為logging是第三種方式,和assert比,logging不會(huì)拋出錯(cuò)誤...
    7季閱讀 366評(píng)論 0 0

友情鏈接更多精彩內(nèi)容