python模塊—StringIO and BytesIO

1.StringIO模塊緩存

在平時開發過程當中,有些時候咱們可能不須要寫在文件中,咱們能夠直接經過StringIO模塊直接寫入到系統內存中,若是不用了,能夠直接清除就能夠了。StringIO主要是用來在內存中寫入字符串的,及字符串的緩存。ide


1.1經過StringIO寫入內存spa

例子ip

#from io import StringIO內存

from io import BytesIO as StringIO開發

output = StringIO()字符串

output.write("hello,world")get

print(output.getvalue())it

output.truncate(0)io

print(output.getvalue())


結果:

hello,world


說明:

Output.write()         # 寫入一個字符串

Output.getvalue()       # 用戶獲取寫入後的字符串

Output.truncate(0)      # 參數爲0,表示清空全部寫入的內容


1.2經過字符串初始化一個StringIO

要讀取StringIO,能夠用一個str初始化StringIO,而後,像讀文件同樣讀取

例子

#from io import StringIO

from io import BytesIO as StringIO

output = StringIO("hello\nworld\nhello\nChina")

print(output.read())

while 1:

   s = output.readline()

   if s == "":

       break

   print s.strip()


結果:

hello

world

hello

China


2.BytesIO模塊

StringIO操做的只能是str,若是要操做二進制數據,就須要使用BytesIO;BytesIO實現了在內存中讀寫bytes,咱們建立一個BytesIO,而後寫入一些bytes

例子

from io import StringIO,BytesIO

f = BytesIO()

f.write(b"hello")

f.write(b"\n")

f.write("world")

print(f.getvalue())

g = BytesIO("hello\nworld")

print(g.getvalue())


結果:

hello

world

hello

world

相關文章
相關標籤/搜索