python模块之StringIO使用示例


Posted in Python onApril 08, 2015

StringIO经常被用来作为字符串的缓存,应为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作。比如:

import string, os, sys

import StringIO
def writedata(fd, msg):

    fd.write(msg)

    

f = open('aaa.txt', 'w')
writedata(f, "xxxxxxxxxxxx")

f.close()
s = StringIO.StringIO()

writedata(s, "xxxxxxxxxxxxxx")

因为文件对象和StringIO大部分的方法都是一样的,比如read, readline, readlines, write, writelines都是有的,这样,StringIO就可以非常方便的作为"内存文件对象"。
import string

import StringIO
s = StringIO.StringIO()

s.write("aaaa")

lines = ['xxxxx', 'bbbbbbb']

s.writelines(lines)
s.seek(0)

print s.read()
print s.getvalue()

s.write(" ttttttttt ")

s.seek(0)

print s.readlines()

print s.len

StringIO还有一个对应的c语言版的实现,它有更好的性能,但是稍有一点点的区别,cStringIO没有len和pos属性。
Python 相关文章推荐
Python collections模块实例讲解
Apr 07 Python
Python装饰器的函数式编程详解
Feb 27 Python
介绍Python中内置的itertools模块
Apr 29 Python
Python实现登录人人网并抓取新鲜事的方法
May 11 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
python类中super()和__init__()的区别
Oct 18 Python
Python 实现交换矩阵的行示例
Jun 26 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
python可以用哪些数据库
Jun 22 Python
简述 Python 的类和对象
Aug 21 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 #Python
Python实现的简单文件传输服务器和客户端
Apr 08 #Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 #Python
编写简单的Python程序来判断文本的语种
Apr 07 #Python
Python实现在线程里运行scrapy的方法
Apr 07 #Python
Python实现从脚本里运行scrapy的方法
Apr 07 #Python
Python自定义scrapy中间模块避免重复采集的方法
Apr 07 #Python
You might like
在Windows中安装Apache2和PHP4的权威指南
2006/10/09 PHP
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
python字典排序实例详解
2015/05/20 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
求网格中的黑点分布
2013/11/06 面试题
会计专业毕业生自荐信范文
2013/12/20 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
学习张林森心得体会
2014/09/10 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
运动员代表致辞
2015/07/29 职场文书
小学体育组工作总结
2015/08/13 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers