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框架django基础指南
Sep 08 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
django开发教程之利用缓存文件进行页面缓存的方法
Nov 10 Python
python如何修改装饰器中参数
Mar 20 Python
Python爬虫之正则表达式的使用教程详解
Oct 25 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
基于h5py的使用及数据封装代码
Dec 26 Python
将数据集制作成VOC数据集格式的实例
Feb 17 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 Python
详解用Python调用百度地图正/逆地理编码API
Jul 02 Python
python中绕过反爬虫的方法总结
Nov 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高级编程-函数-郑阿奇
2011/07/04 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
一分钟理解js闭包
2016/05/04 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
python使用urlparse分析网址中域名的方法
2015/04/15 Python
在centos7中分布式部署pyspider
2017/05/03 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
浅析NumPy 切片和索引
2020/09/02 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
傲盾软件面试题
2015/08/17 面试题
物流仓储实习自我鉴定
2013/09/25 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
python批量创建变量并赋值操作
2021/06/03 Python
python读取mat文件生成h5文件的实现
2022/07/15 Python