首頁 > 後端開發 > Python教學 > python學習筆記 - StringIO以及BytesIO

python學習筆記 - StringIO以及BytesIO

高洛峰
發布: 2017-02-17 11:50:34
原創
1603 人瀏覽過

之前我們所說的都是讀寫真正的文件。其實我們也可以在記憶體中虛擬一個檔案進行讀寫。 Python提供給咱們的官方module有io.StringIO和io.BytesIO.

io.StringIO

String IO用於在內存在讀取和寫入字串。 StringIO可以傳入一個字元初始化。例如

string = StringIO("This is Demo")
登入後複製

例如:

from io import StringIO

s = StringIO()
s.write("Yes\nYEs")
s.seek(0)
# 将指针拨回到开始位置,否则将会读取不到任何东西

content = s.read()
print content
登入後複製

StringIO建立的是一個file-like object,擁有File Object的所有方法。 StringIO還有兩個特殊的方法,就是getvalue()方法和close()方法。

  • getvalue()方法用於取得StringIO中寫入的內容

  • close()方法關閉StringIO,釋放記憶體。

io.BytesIO

StringIO只能處理字串類型的數據,BytesIO可以用於處理二進位類型的資料。 BytesIO的用法與StringIO類似

StringIO.StringIO

在搜尋文件的時候,發現在StringIO下也有一個StringIO,而且兩者非常類似。所有google了一下。在stackoverflow有個答案:

An in-memory stream for unicode text. It inherits TextIOWrapper.

This module implements a file-like class, StringIO, that reads and writes a string buffera (alkory kory). .StringIO is a class. It handles Unicode. It reflects the preferred Python 3 library structure.

StringIO.StringIO is a class. It handles strings. It reflects the legacy Python 2 library structure.🎧 structure. forward toward the new library organization. The io.open should be used to replace the built-in Unicode-unaware open.

Forward. Move forward.

大意就是StringIO是python2的遺產,後續會被用.IOIO取代.建議使用io.StringIO.


更多python學習筆記- StringIO以及BytesIO相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板