成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python學(xué)習(xí)筆記 - StringIO以及BytesIO

CastlePeaK / 1996人閱讀

摘要:可以傳入一個(gè)字符初始化。只能處理字符串類型的數(shù)據(jù),可以用于處理二進(jìn)制類型的數(shù)據(jù)。在搜索文檔的時(shí)候,發(fā)現(xiàn)在下也有一個(gè),而且兩者非常類似。

之前我們所說(shuō)的都是讀寫真正的文件。其實(shí)我們也可以在內(nèi)存中虛擬一個(gè)文件進(jìn)行讀寫。Python給咱們提供的官方module有io.StringIOio.BytesIO.

io.StringIO

String IO用于在內(nèi)存在讀寫字符串。
StringIO可以傳入一個(gè)字符初始化。例如

string = StringIO("This is Demo")

例如:

from io import StringIO

s = StringIO()
s.write("Yes
YEs")
s.seek(0)
# 將指針撥回到開始位置,否則將會(huì)讀取不到任何東西

content = s.read()
print content

StringIO創(chuàng)建的是一個(gè)file-like object,擁有File Object的所有方法。StringIO還有兩個(gè)特殊的方法,就是getvalue()方法和close()方法。

getvalue()方法用于獲取StringIO中寫入的內(nèi)容

close()方法關(guān)閉StringIO,釋放內(nèi)存。

io.BytesIO

StringIO只能處理字符串類型的數(shù)據(jù),BytesIO可以用于處理二進(jìn)制類型的數(shù)據(jù)。
BytesIO的用法與StringIO類似。

StringIO.StringIO

在搜索文檔的時(shí)候,發(fā)現(xiàn)在StringIO下也有一個(gè)StringIO,而且兩者非常類似。所有g(shù)oogle了一下。在stackoverflow有一個(gè)回答:
回答的原文鏈接:http://stackoverflow.com/ques...

An in-memory stream for unicode text. It inherits TextIOWrapper.

This module implements a file-like class, StringIO, that reads and writes a string buffer (also known as memory files).
io.StringIO is a class. It handles Unicode. It reflects the preferred Python 3 library structure.

StringIO.StringIO is a class. It handles strings. It reflects the legacy Python 2 library structure.

What should be preferred?
Always move forward toward the new library organization. The io.open should be used to replace the built-in Unicode-unaware open.

Forward. Move forward.

大意就是StringIO是python2的遺產(chǎn),后續(xù)會(huì)被io.StringIO取代.
建議使用io.StringIO.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38337.html

相關(guān)文章

  • 小李飛刀:醉臥沙場(chǎng)君莫笑,python你還是等等我

    摘要:前面的一些碎碎念兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點(diǎn)還是應(yīng)該放在實(shí)戰(zhàn)上。更簡(jiǎn)潔的版本是如果文件很小,一次性讀取最方便如果不能確定文件大小,反復(fù)調(diào)用比較保險(xiǎn)如果是配置文件,調(diào)用最方便。 前面的一些碎碎念 兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點(diǎn)還是應(yīng)該放在實(shí)戰(zhàn)上。所以后續(xù)要速速的推倒這個(gè)教程了,用一些數(shù)據(jù)來(lái)實(shí)行一些分析:) 認(rèn)真學(xué)習(xí)的分割線 打打打打雞血!...

    Hydrogen 評(píng)論0 收藏0
  • Python每日一練0021

    摘要:?jiǎn)栴}如何像操作文件一樣操作或類似于中的解決方案使用模塊中的和調(diào)用他們的構(gòu)造函數(shù)得到一個(gè)對(duì)象然后就可以像文件一樣進(jìn)行等等操作討論當(dāng)需要模擬一個(gè)普通文件而且又不想真正的進(jìn)行磁盤的時(shí)候比如編寫單元測(cè)試的時(shí)候,可以用上這兩個(gè)類但是需要注意的是,和并 問(wèn)題 如何像操作文件一樣操作str或bytes 類似于C++中的stringstream 解決方案 使用io模塊中的StringIO和BytesI...

    Render 評(píng)論0 收藏0
  • 編寫兼容 Python 2 和 Python 3 的代碼

    摘要:注本文的作者是。原文的地址為該筆記向你展示了編寫不會(huì)過(guò)時(shí)的兼容和的代碼風(fēng)格。它是在的演講,。基本語(yǔ)法差異為了打印出多個(gè)。方方和工具沒(méi)有提供一個(gè)選項(xiàng)自動(dòng)完成這個(gè)。如果你為了個(gè)項(xiàng)目編寫新的代碼庫(kù),你可以用一個(gè)字符模塊標(biāo)記所有的字符字面量。 注:本文的作者是 Ed Schofield。原文的地址為: Cheat Sheet: Writing Python 2-3 compatible ...

    wangtdgoodluck 評(píng)論0 收藏0
  • Python實(shí)現(xiàn)不寫硬盤上傳文件的方法有哪些

      大家在工作中,有沒(méi)有遇到這個(gè)問(wèn)題,那就是在使用python的時(shí)候,無(wú)法實(shí)現(xiàn)不寫硬盤上傳文件,這樣會(huì)導(dǎo)致工作效率大大降低。那么,怎么才能夠?qū)崿F(xiàn)python不讀寫硬盤上傳文件呢?下面給大家列舉了幾種實(shí)例,希望能夠?qū)Υ蠹規(guī)?lái)幫助,祝大家在工作中,早日實(shí)現(xiàn)財(cái)富自由。   引言   假如說(shuō)你寫了一個(gè)api,并且能夠接受client上傳的文件,然后在上傳到oss,那么這個(gè)時(shí)候,你會(huì)怎么做?先寫硬盤,然后在...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<