StringIO和BytesIO
StringIO:IO模块中的类
1、内存中开辟的一个文本模式的buffer,可以像文件对象一样操作它。
2、当close方法被调用时,这个buffer会被释放
StringIO操作
getvalue()获取全部内容,跟文件指针没有关系
在内存中构建一个StringIO对象
sio = StringIO() #像文件对象一样操作
StringIO优势:
一般来说,磁盘的操作比内存的操作要慢的多,内存足够的情况下,一般的优化思路是少落地,减少磁盘IO的过程,可以大大提高程序的运行效率
BytesIO: IO模块中的类
1、内存中开辟的一个文本模式的buffer,可以像文件对象一样操作它。
2、当close方法被调用时,这个buffer会被释放
在内存中构建一个StringIO对象
sio = BytesIO() #像文件对象一样操作
点击查看代码
bio = BytesIO()
print(bio.readable(),bio.writable(),bio.seekable()))
bio.write("mageedu\nPython")
bio.seek(0)
print(bio.readline())
print(bio.getvalue()) #无视指针,输出全部内容
bio.close()
file-like对象
类文件对象,可像文件对象一样操作
socket对象,输入输出对象(stdin、stdout)
点击查看代码
from sys import stdoutf=stdoutprint(type(f))f.write('magedu.com')
本文来自博客园,作者:{睡佛爷},转载请注明原文链接:{https://www.cnblogs.com/sfy-cnblogs.com}
