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