Python之IO模塊


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,然后像讀文件一樣讀取;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM