最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3 io文本及原始流I/O工具用法詳解

 更新時(shí)間:2020年03月23日 15:06:39   作者:愛編程的小灰灰  
這篇文章主要介紹了Python3 io文本及原始流I/O工具用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

io模塊在解釋器的內(nèi)置open()之上實(shí)現(xiàn)了一些類來完成基于文件的輸入和輸出操作。這些類得到了適當(dāng)?shù)姆纸?,從而可以針對不同的用途重新組合——例如,支持向一個(gè)網(wǎng)絡(luò)套接字寫Unicode數(shù)據(jù)。

1.1 內(nèi)存中的流

StringIO提供了一種很便利的方式,可以使用文件API(如read()、write()等)處理內(nèi)存中的文本。有些情況下,與其他一些字符串連接技術(shù)相比,使用StringIO構(gòu)造大字符串可以提供更好的性能。內(nèi)存中的流緩沖區(qū)對測試也很有用,寫入磁盤上真正的文件并不會減慢測試套件的速度。

下面是使用StringIO緩沖區(qū)的一些標(biāo)準(zhǔn)例子。

import io
# Writing to a buffer
output = io.StringIO()
output.write('This goes into the buffer. ')
print('And so does this.', file=output)
# Retrieve the value written
print(output.getvalue())
output.close() # discard buffer memory
 
# Initialize a read buffer
input = io.StringIO('Inital value for read buffer')
# Read from the buffer
print(input.read())

這個(gè)例子使用了read(),不過也可以用readline()和readlines()方法。StringIO類還提供了一個(gè)seek()方法,讀取文本時(shí)可以在緩沖區(qū)中跳轉(zhuǎn),如果使用一種前向解析算法,則這個(gè)方法對于回轉(zhuǎn)很有用。

要處理原始字節(jié)而不是Unicode文本,可以使用BytesIO。

import io
# Writing to a buffer
output = io.BytesIO()
output.write('This goes into the buffer. '.encode('utf-8'))
output.write('ÁÇÊ'.encode('utf-8'))
# Retrieve the value written
print(output.getvalue())
output.close() # discard buffer memory
 
# Initialize a read buffer
input = io.BytesIO(b'Inital value for read buffer')
# Read from the buffer
print(input.read())

寫入BytesIO實(shí)例的值一定是bytes而不是str。

1.2 為文本數(shù)據(jù)包裝字節(jié)流

原始字節(jié)流(如套接字)可以被包裝為一個(gè)層來處理串編碼和解碼,從而可以更容易地用于處理文本數(shù)據(jù)。TextIOWrapper類支持讀寫。write_through參數(shù)會禁用緩沖,并且立即將寫至包裝器的所有數(shù)據(jù)刷新輸出到底層緩沖區(qū)。

import io
# Writing to a buffer
output = io.BytesIO()
wrapper = io.TextIOWrapper(
  output,
  encoding='utf-8',
  write_through=True,
)
wrapper.write('This goes into the buffer. ')
wrapper.write('ÁÇÊ')
# Retrieve the value written
print(output.getvalue())
output.close() # discard buffer memory
 
# Initialize a read buffer
input = io.BytesIO(
  b'Inital value for read buffer with unicode characters ' +
  'ÁÇÊ'.encode('utf-8')
)
wrapper = io.TextIOWrapper(input, encoding='utf-8')
# Read from the buffer
print(wrapper.read())

這個(gè)例子使用了一個(gè)BytesIO實(shí)例作為流。對應(yīng)bz2、http,server和subprocess的例子展示了如何對其他類型的類似文件的對象使用TextIOWrapper。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    Python實(shí)現(xiàn)模擬登錄網(wǎng)易郵箱的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)模擬登錄網(wǎng)易郵箱的方法,結(jié)合實(shí)例形式分析了Python基于urllib2及cookielib模塊的http請求、數(shù)據(jù)傳輸及交互相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • python獲取本機(jī)所有IP地址的方法

    python獲取本機(jī)所有IP地址的方法

    這篇文章主要為大家詳細(xì)介紹了python獲取本機(jī)所有IP地址的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python個(gè)人博客程序開發(fā)實(shí)例用戶驗(yàn)證功能

    Python個(gè)人博客程序開發(fā)實(shí)例用戶驗(yàn)證功能

    這篇文章主要介紹了怎樣用Python來實(shí)現(xiàn)一個(gè)完整的個(gè)人博客系統(tǒng),我們通過實(shí)操上手的方式可以高效的鞏固所學(xué)的基礎(chǔ)知識,感興趣的朋友一起來看看吧
    2022-12-12
  • Python中深拷貝與淺拷貝的區(qū)別介紹

    Python中深拷貝與淺拷貝的區(qū)別介紹

    這篇文章介紹了Python中深拷貝與淺拷貝的區(qū)別,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • python opencv如何實(shí)現(xiàn)圖片繪制

    python opencv如何實(shí)現(xiàn)圖片繪制

    這篇文章主要介紹了python opencv如何實(shí)現(xiàn)圖片繪制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 使用Python的PIL庫給圖像進(jìn)行過濾

    使用Python的PIL庫給圖像進(jìn)行過濾

    PIL是一個(gè)用于圖像處理的Python庫,它提供了各種功能,包括加載、保存、編輯和處理圖像,你可以使用PIL庫進(jìn)行圖像縮放、裁剪、旋轉(zhuǎn)、濾鏡應(yīng)用等操作,本文將介紹如何使用Python的PIL庫給圖像進(jìn)行過濾,需要的朋友可以參考下
    2023-08-08
  • Python實(shí)現(xiàn)word2Vec model過程解析

    Python實(shí)現(xiàn)word2Vec model過程解析

    這篇文章主要介紹了Python實(shí)現(xiàn)word2Vec model過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python爬蟲之Selenium實(shí)現(xiàn)鍵盤事件

    Python爬蟲之Selenium實(shí)現(xiàn)鍵盤事件

    這篇文章主要介紹了Python爬蟲之Selenium實(shí)現(xiàn)鍵盤事件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 用python批量解壓帶密碼的壓縮包

    用python批量解壓帶密碼的壓縮包

    批量解壓縮帶密碼的壓縮包的Python腳本,直接拖入文件夾或壓縮文件即可,支持解壓幾乎所有壓縮文件格式??蓴y帶 Portable
    2021-05-05
  • python目標(biāo)檢測yolo3詳解預(yù)測及代碼復(fù)現(xiàn)

    python目標(biāo)檢測yolo3詳解預(yù)測及代碼復(fù)現(xiàn)

    這篇文章主要為大家介紹了python目標(biāo)檢測yolo3詳解預(yù)測及代碼復(fù)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評論

雅江县| 吴川市| 黄平县| 蕲春县| 衡阳市| 长治市| 赞皇县| 微山县| 南投县| 东宁县| 新营市| 桃园市| 肃南| 松阳县| 岑巩县| 吴忠市| 密云县| 洱源县| 方城县| 泽州县| 永平县| 翁牛特旗| 军事| 东平县| 西盟| 广州市| 泊头市| 保定市| 盐山县| 郁南县| 明水县| 霸州市| 句容市| 胶州市| 罗山县| 永安市| 凤阳县| 莱西市| 塔城市| 安义县| 沂源县|