溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PythonIO模塊的使用

發(fā)布時(shí)間:2020-08-14 14:22:04 來源:ITPUB博客 閱讀:165 作者:Winter 欄目:編程語言

今天學(xué)習(xí)IO模塊的使用,主要分為StringIO的使用和BytesIO的使用~

1.StringIO的使用

# 類似文件的緩沖區(qū)
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())  # 釋放緩沖區(qū)

  • StringIO經(jīng)常被用來作字符串的緩存,因?yàn)镾tringIO的一些接口和文件操作是一致的,也就是說同樣的代碼,可以同時(shí)當(dāng)成文件操作或者StringIO操作;
  • 要讀取StringIO,可以用一個(gè)str初始化StringIO,然后像讀文件一樣讀取;
  • 當(dāng)使用read()方法讀取寫入的內(nèi)容時(shí),則需要先用seek()方法讓指針移動到最開始的位置,否則讀取不到內(nèi)容(寫入后指針在最末尾);
  • getvalue()方法:直接獲得寫入后的str;
  • close()方法:在關(guān)閉文件的緩沖區(qū)之后就不能再進(jìn)行讀寫操作了;
2.BytesIO的使用

# 類似文件的緩沖區(qū)
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()

  • StringIO操作的只能是str,如果要操作二進(jìn)制數(shù)據(jù),就需要使用BytesIO;
  • BytesIO實(shí)現(xiàn)了在內(nèi)存中讀寫bytes,寫入的不是str,而是經(jīng)過UTF-8編碼的bytes;
  • 要讀取BytesIO,可以用一個(gè)bytes初始化BytesIO,然后像讀文件一樣讀取;
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI