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框架中的select_related函数对QuerySet 查询的优化
Apr 01 Python
Python 3.x 新特性及10大变化
Jun 12 Python
详解python调度框架APScheduler使用
Mar 28 Python
python删除文本中行数标签的方法
May 31 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 Python
深入浅析Python 中 is 语法带来的误解
May 07 Python
Python 实现数据结构中的的栈队列
May 16 Python
对Python生成器、装饰器、递归的使用详解
Jul 19 Python
常用的10个Python实用小技巧
Aug 10 Python
python 模拟登陆github的示例
Dec 04 Python
Python如何telnet到网络设备
Feb 18 Python
基于Python 函数和方法的区别说明
Mar 24 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日历程序
2006/12/06 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
PHP输出日历表代码实例
2015/03/27 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
Zend Framework教程之Zend_Config_Xml用法分析
2016/03/23 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
用js重建星际争霸
2006/12/22 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
angular4 JavaScript内存溢出问题
2018/03/06 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
Python中的进程分支fork和exec详解
2015/04/11 Python
python实现八大排序算法(2)
2017/09/14 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
django 控制页面跳转的例子
2019/08/06 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
财务副总经理工作职责
2013/11/25 职场文书
开学典礼感言
2014/02/16 职场文书
股票投资建议书
2014/05/19 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
2014年调度员工作总结
2014/11/19 职场文书
《游戏公平》教学反思
2016/02/20 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang