摘要:可以傳入一個字符初始化。只能處理字符串類型的數(shù)據(jù),可以用于處理二進制類型的數(shù)據(jù)。在搜索文檔的時候,發(fā)現(xiàn)在下也有一個,而且兩者非常類似。
之前我們所說的都是讀寫真正的文件。其實我們也可以在內(nèi)存中虛擬一個文件進行讀寫。Python給咱們提供的官方module有io.StringIO和io.BytesIO.
io.StringIOString IO用于在內(nèi)存在讀寫字符串。
StringIO可以傳入一個字符初始化。例如
string = StringIO("This is Demo")
例如:
from io import StringIO s = StringIO() s.write("Yes YEs") s.seek(0) # 將指針撥回到開始位置,否則將會讀取不到任何東西 content = s.read() print content
StringIO創(chuàng)建的是一個file-like object,擁有File Object的所有方法。StringIO還有兩個特殊的方法,就是getvalue()方法和close()方法。
getvalue()方法用于獲取StringIO中寫入的內(nèi)容
close()方法關(guān)閉StringIO,釋放內(nèi)存。
io.BytesIOStringIO只能處理字符串類型的數(shù)據(jù),BytesIO可以用于處理二進制類型的數(shù)據(jù)。
BytesIO的用法與StringIO類似。
在搜索文檔的時候,發(fā)現(xiàn)在StringIO下也有一個StringIO,而且兩者非常類似。所有g(shù)oogle了一下。在stackoverflow有一個回答:
回答的原文鏈接: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ù)會被io.StringIO取代.
建議使用io.StringIO.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/38337.html
摘要:前面的一些碎碎念兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點還是應(yīng)該放在實戰(zhàn)上。更簡潔的版本是如果文件很小,一次性讀取最方便如果不能確定文件大小,反復(fù)調(diào)用比較保險如果是配置文件,調(diào)用最方便。 前面的一些碎碎念 兩天的耽擱,思考了下,雖然需要全面基礎(chǔ)的學(xué)習(xí),但是重點還是應(yīng)該放在實戰(zhàn)上。所以后續(xù)要速速的推倒這個教程了,用一些數(shù)據(jù)來實行一些分析:) 認真學(xué)習(xí)的分割線 打打打打雞血!...
摘要:問題如何像操作文件一樣操作或類似于中的解決方案使用模塊中的和調(diào)用他們的構(gòu)造函數(shù)得到一個對象然后就可以像文件一樣進行等等操作討論當(dāng)需要模擬一個普通文件而且又不想真正的進行磁盤的時候比如編寫單元測試的時候,可以用上這兩個類但是需要注意的是,和并 問題 如何像操作文件一樣操作str或bytes 類似于C++中的stringstream 解決方案 使用io模塊中的StringIO和BytesI...
摘要:注本文的作者是。原文的地址為該筆記向你展示了編寫不會過時的兼容和的代碼風(fēng)格。它是在的演講,。基本語法差異為了打印出多個。方方和工具沒有提供一個選項自動完成這個。如果你為了個項目編寫新的代碼庫,你可以用一個字符模塊標(biāo)記所有的字符字面量。 注:本文的作者是 Ed Schofield。原文的地址為: Cheat Sheet: Writing Python 2-3 compatible ...
大家在工作中,有沒有遇到這個問題,那就是在使用python的時候,無法實現(xiàn)不寫硬盤上傳文件,這樣會導(dǎo)致工作效率大大降低。那么,怎么才能夠?qū)崿F(xiàn)python不讀寫硬盤上傳文件呢?下面給大家列舉了幾種實例,希望能夠?qū)Υ蠹規(guī)韼椭4蠹以诠ぷ髦校缛諏崿F(xiàn)財富自由。 引言 假如說你寫了一個api,并且能夠接受client上傳的文件,然后在上傳到oss,那么這個時候,你會怎么做?先寫硬盤,然后在...
閱讀 1487·2021-11-24 11:16
閱讀 2690·2021-07-28 12:32
閱讀 2302·2019-08-30 11:22
閱讀 1440·2019-08-30 11:01
閱讀 595·2019-08-29 16:24
閱讀 3547·2019-08-29 12:52
閱讀 1625·2019-08-29 12:15
閱讀 1332·2019-08-29 11:18