python中不僅僅可以在磁盤中寫入文件,還允許直接在內存中直接寫入數據:需要借助StringIO和BytesIO來實現:
1、直接操作StringIO
from io import StringIO #載入對象 f=StringIO() #創建變量指向對象 f.write('hello,') #寫入數據 f.write(' ') f.write('world.') print(f.getvalue()) #依次打印獲得的數據
getvalue()的方法用於獲取寫入的str
2、初始化StringIO
from io import StringIO #載入模塊 f=StringIO('hello\nworld') #初始化String while True: #創造循環條件 s=f.readline() #對f指向的對象記性逐行讀取 if s=='': #指定退出循環條件,即讀取的行數為空 break #退出循環 print(s.strip()) #strip()方法用於移除字符串頭尾指定的字符(默認為空格)。
3、使用BytesIO操作二進制數據
from io import BytesIO f=BytesIO() f.write('中文'.encode('utf-8')) print(f.getvalue())
>>> b'\xe4\xb8\xad\xe6\x96\x87'
和StringIO類似,可以用一個bytes初始化BytesIO,然后,像讀文件一樣讀取。
