StringIO
在内存中读取str。需导入io模块。
write():向内存中写数据。
getvalue():获取内存中存储的数据。如:
import io
f = io.StringIO('-'*10)
f.write('hello') # 此时将子串写入内存中
print(f.getvalue()) # 获取原来写入内存中的数据 hello-----
print(f.getvalue()) # 可以多次获取
构造时,可以不传入参数,并且构造中传入的参数会被后来通过write()写入的数据覆盖。
类似于java中的StringBuilder,将多个子串合并成一个完整的字符串。
readline():读取StringIO参数中传入的字符串,被write覆盖掉的部分不会读取。
import io
s = io.StringIO('-'*10)
s.write('xxx')
print(s.getvalue()) # xxx-------
print(s.readline().strip()) # -------
BytesIO
二进制数据的IO。与StringIO的方法类似。