python2中:
from StringIO import StringIO
python3中:
from io import StringIOStringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的"文件",在内存中读写str,我们可以像操作磁盘文件那样来操作StringIO,主要用于在内存缓冲区中读写数据。output=StringIO([buf])
创建一个StingIO对象,寄存在缓冲区,可选参数buf是一个str或unicode类型,它将会与后续写的数据存放一起。如:'Hello\n'和Word\n'会被放在一个缓冲区中。
output=StringIO('Hello\n')
output.write('Word\n')
print(output.getvalue())
'''
结果:Word
将原来默认的Hello覆盖了,因此在写入数据之前,应先将读写位置移动到结尾,然后再写入,否则,初始化数据会被覆盖掉,因为读写位置默认是0
'''StringIO类中的方法:
(1)、output.read([n])
参数n限定读取长度,int类型;缺省状态为从当前读写位置读取对象output中存储的所有数据。读取结束后,读写位置被移动(2)、output.readline([length])
参数length限定读取的结束位置,int类型; 缺省状态为None,从当前读写位置读取至下一个以"\n"为结束符的当前行。读写位置被移动(3)、output.readlines([sizehint])
参数sizehint为int类型;缺省状态为读取所有行并作为列表返回, 且从当前读写位置读取至下一个以"\n"为结束符的当前行。读写位置被移动(4)、output.write(s)
从读写位置将参数s写入给对象output。参数s为str或unicode类型。读写位置被移动(5)、output.writelines(list)
从读写位置将list写入给对象output。参数list为一个列表,列表的成员为str或unicode类型。读写位置被移动。(6)、output.getvalue()
此函数没有参数,无论读写位置在哪里,都能够返回对象output中的所有数据(7)、output.truncate([size])
有size参数,无论读写位置在哪里,都从起始位置开始,裁剪size字节的数据
无size参数,将当前读写位置之前的数据,裁剪下来(8)、output.tell()
返回当前读写位置,读写位置默认是0,因此,之后写入的数据("xxxxx!!!xxxxxx")会将之前的数据覆盖掉  (9)、output.seek(pos[,mode])
移动当前读写位置至pos处,
可选参数mode:
为0时将读写位置移动至pos处,mode的默认值为0。
为1时将读写位置从当前位置起向前或向后移动|pos|个长度,
为2时将读写位置置于末尾处再向前或向后移动|pos|个长度;(10)、output.close()
释放缓冲区,执行此函数后,数据将被释放,也不可再进行操作。(11)、output.isatty()
此函数总是返回0。(12)、output.flush()
刷新内部缓冲区。举例1:
output=StringIO('Hello\n')
output.seek(0,2)               #将读写位置移动到末尾
output.write('Word\n')         #这样再写入字符串时,就不会覆盖之前默认的值
print(output.getvalue())
'''
结果:
Hello
Word
'''#如果使用read()方法读取,则应该先将指针移动到开头,否则读取结果为空
#print(output.read())output.seek(0,0)
print(output.read())
结果:
Hello
Word
'''

StringIO和BytesIO的区别

StringIO和BytesIO的区别:
StringIO只能操作字符串,如果要操作二进制数据则需要使用BytesIO
from io import BytesIO
f=BytesIO()
f.write('中文'.encode('utf-8'))  #将 '中文'经utf-8编码成字节
print(f.getvalue())
'''
b'\xe4\xb8\xad\xe6\x96\x87'
'''

python的StringIO相关推荐

  1. python stringio_python StringIO类

    python的stringIO类用来处理字符串,由于其操作类似文件操作,可以视为内存中的文件. 1.创建stringIO 2.常用操作: write,writelines.getvalue.seek. ...

  2. Python的StringIO模块和cStringIO模块

    1.StringIO模块 StringIO用于像文件一样对字符串缓冲区或者叫做内存文件进行读写. f = StringIO()      # ready for writing f = StringI ...

  3. python 的StringIO

    1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就 ...

  4. 学习Python:StringIO与cStringIO

    StringIO StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的"文件",我们可以将操作磁盘文件那样来操作StringIO.一个简单的例子,让你对 ...

  5. Python:StringIO与cStringIO

    StringIO StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的"文件",我们可以将操作磁盘文件那样来操作StringIO.一个简单的例子,让你对 ...

  6. python的StringIO模块

    StringIO经常被用来作字符串的缓存,因为StringIO的一些接口和文件操作是一致的,也就是说同样的代码,可以同时当成文件操作或者StringIO操作. 一.StringIO中的常用方法 1.r ...

  7. python中StringIO和BytesIO

    StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写. StringIO顾名思义就是在内存中读写str. 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文 ...

  8. python io.StringIO函数

    python3中: from io import StringIO StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的"文件",在内存中读写str,我 ...

  9. python学习——StringIO和BytesIO

    StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写. StringIO顾名思义就是在内存中读写str. 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文 ...

最新文章

  1. 谈周六晚上的毕业典礼
  2. [NPUCTF2020]你好sao啊
  3. mysql utf8mb4 配置_MariaDB(Mysql)配置utf8mb4编码
  4. 亏损63亿,美图真能“美”到上市?
  5. 线程间通讯机制(基础篇)——Handler、Runnable、HandlerThread、AsyncTask的使用
  6. boost::log::string_literal用法的测试程序
  7. leetcode 594. Longest Harmonious Subsequence | 594. 最长和谐子序列
  8. 键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)
  9. 论文浅尝 | 基于对抗学习的弱监督知识图谱对齐
  10. 无法在WEB服务器上启动调试,Web 服务器配置不正确 解决
  11. selenium webdriver 学习总结-元素定位
  12. Visual Stadio 2012创建WebApplication应用和运行赏析
  13. SQL获取当前时间、年、月、日等
  14. xshell中文问号乱码
  15. 【第五课】ArcCatalog和ArcToolbox初识
  16. Microsoft.NET离线运行库合集
  17. 计算机软件项目的效益预测,软件工程经济效益分析.doc
  18. 高性能、分布式、低延迟的发布订阅中间件对比 Redis 和 emitter
  19. 12/22从东京到布里斯班
  20. 提权-Windows操作系统

热门文章

  1. Acetal-PEG-NHS,NHS-PEG-Acetal,乙缩醛-聚乙二醇-琥珀酰亚胺酯化学试剂供应
  2. SAP S4 HANA 1909 安装说明
  3. Java静态类的使用
  4. 【python】打开网页和下载文件
  5. 计算机视觉 目标分割
  6. Hinton 最新研究:神经网络的未来是前向-前向算法
  7. 【web前端特效源码】使用HTML5+CSS3+JavaScript制作一个电风扇动画效果~适合初学者~超简单~ |前端开发|IT软件
  8. java 文件移动文件夹_java移动文件到另一个文件夹中
  9. 手机如何批量提取视频中的音频
  10. 【Matlab笔记】测绘工程专业正算、反算、度分秒转弧度函数