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 相关文章推荐
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
python正则表达式match和search用法实例
Mar 26 Python
使用Python中的线程进行网络编程的入门教程
Apr 15 Python
Python学习pygal绘制线图代码分享
Dec 09 Python
python实现画一颗树和一片森林
Jun 25 Python
linux环境下Django的安装配置详解
Jul 22 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
python函数的万能参数传参详解
Jul 26 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
python爬虫之遍历单个域名
Nov 20 Python
Python对象的属性访问过程详解
Mar 05 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 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
PHP实现简单汉字验证码
2015/07/28 PHP
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
js中传递特殊字符(+,&)的方法
2014/01/16 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
Joules美国官网:出色的英国风格
2017/10/30 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
春节联欢晚会主持词
2014/03/24 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript