io模块的类图
IOBase
-RawIOBase,无缓存的字节流
-+FileIO,操作系统文件流
-BufferedIOBase,缓存的字节流
-+BytesIO
-+BufferedReader
-+BufferedWriter
-+BufferedRandom
-+BufferedRWPair
-TextIOBase,编码相关的文本流
-+StringIO,文本的内存流
-+TextIOWrapper
字节IO,(缓存IO) 读取二进制bytes-like对象得到bytes对象
BytesIo
f = open('demo.txt', 'rb')
f = io.BytesIO(b'hello my darling')
文本IO, 从读取str,得到str对象流
TextIOWrapper
f = open('demo.txt', 'r')
f = io.TextIOWrapper('always love')
总结:io模块用于从缓存中读取文本或二进制等数据生成对应的python对象(unicode)