open()函數(shù)返回的文件對(duì)象取決于模式。當(dāng)使用文本模式打開文件時(shí),它返回一個(gè)TextIOBase的子類。當(dāng)使用二進(jìn)制打開時(shí),返回的是BufferedIOBase的子類。準(zhǔn)確細(xì)分為:可讀二進(jìn)制模式,返回BufferReader對(duì)象;在可寫和追加模式中,返回BufferWriter對(duì)象,在讀寫模式中,返回BufferRandom。當(dāng)buffering關(guān)閉時(shí),原始數(shù)據(jù)流,一個(gè)RawIOBase的子類將被返回。
還可以使用unicode或者字節(jié)字符串當(dāng)作一個(gè)文件來(lái)進(jìn)行讀寫。對(duì)于unicode字符串,將像文本一樣使用StringIO對(duì)其進(jìn)行處理,而二進(jìn)制則使用BytesIO。