io - 層次感與并列關系
IOBase基類_分門 -> 別/類
# 都在內存中, raw與緩沖的關系 (一分為二)
# 可把raw看成是'管道', 流 <=> 二進制, (有無raw上之) 緩沖 <=> 內存視圖對象
doc文檔: https://docs.python.org/zh-cn/3/library/io.html
# 低層級如os.open/read/write一類使用 (os <=> open/pipe (raw))
1_1: IOBase_RawIOBase -> FileIO (raw原始二進制流,raw無緩沖)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? flush刷新 (!BufferedRWPair用2個raw, 無緩沖)
內存_緩沖流: file-like對象, ‘內存視圖’進行讀寫 (緩沖無raw, 無分離項)
??????????????????? IOBase_BufferedIOBase -> BytesIO (字節(jié)緩沖流)
??????????????????? IOBase_TextIOBase -> StringIO (Unicode -> 文本緩沖流)
# 高層級的緩沖二進制流 (raw上可分離的字節(jié)流, 分離后只有raw)
1_2: IOBase_BufferedIOBase -> ?Buffered Reader/Writer/Random (/RWPair)
# 高層級的緩沖文本流 (raw上可分離的文本流, 只多了個編碼)
2: IOBase_TextIOBase -> TextIOWrapper (別)
