1.StringIO的使用
# 類似文件的緩沖區
from io import StringIO
cache_file = StringIO()
print(cache_file.write('hello world')) # 11
print(cache_file.seek(0)) # 0
print(cache_file.read()) # hello world
print(cache_file.close()) # 釋放緩沖區
如果你依然在編程的世界里迷茫,
不知道自己的未來規划,
對python感興趣,
這里推薦一下我的學習交流圈QQ群:895 797 751,
里面都是學習python的,
- StringIO經常被用來作字符串的緩存,因為StringIO的一些接口和文件操作是一致的,也就是說同樣的代碼,可以同時當成文件操作或者StringIO操作;
- 要讀取StringIO,可以用一個str初始化StringIO,然后像讀文件一樣讀取;
- 當使用read()方法讀取寫入的內容時,則需要先用seek()方法讓指針移動到最開始的位置,否則讀取不到內容(寫入后指針在最末尾);
- getvalue()方法:直接獲得寫入后的str;
- close()方法:在關閉文件的緩沖區之后就不能再進行讀寫操作了;
2.BytesIO的使用
# 類似文件的緩沖區 from io import BytesIO bytes_file = BytesIO() bytes_file.write(b'hello world') bytes_file.seek(0) print(bytes_file.read()) # b'hello world' bytes_file.close() 如果你依然在編程的世界里迷茫, 不知道自己的未來規划, 對python感興趣, 這里推薦一下我的學習交流圈QQ群:895 797 751, 里面都是學習python的,
- StringIO操作的只能是str,如果要操作二進制數據,就需要使用BytesIO;
- BytesIO實現了在內存中讀寫bytes,寫入的不是str,而是經過UTF-8編碼的bytes;
- 要讀取BytesIO,可以用一個bytes初始化BytesIO,然后像讀文件一樣讀取;
