python模塊—StringIO and BytesIO
1.StringIO模塊
在平時開發過程中,有些時候我們可能不需要寫在文件中,我們可以直接通過StringIO模塊直接寫入到系統內存中,如果不用了,可以直接清除就可以了。StringIO主要是用來在內存中寫入字符串的,及字符串的緩存。
1.1通過StringIO寫入內存
例子
#from io import StringIO
from io import BytesIO as StringIO
output = StringIO()
output.write("hello,world")
print(output.getvalue())
output.truncate(0)
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
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(
print(f.getvalue())
g = BytesIO("hello\nworld")
print(g.getvalue())
結果:
hello
world
hello
world
python模塊—StringIO and BytesIO