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中操作时间之mktime()方法的使用教程
May 22 Python
python爬虫获取多页天涯帖子
Feb 23 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
Aug 31 Python
python高级特性和高阶函数及使用详解
Oct 17 Python
Python高斯消除矩阵
Jan 02 Python
django 信号调度机制详解
Jul 19 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
Django 拆分model和view的实现方法
Aug 16 Python
Python实现动态循环输出文字功能
May 07 Python
Python -m参数原理及使用方法解析
Aug 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
php算开始时间到过期时间的相隔的天数
2011/01/12 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
php设计模式之委托模式
2016/02/13 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
Python中查看文件名和文件路径
2017/03/31 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
python正则表达式re之compile函数解析
2017/10/25 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
Python socket聊天脚本代码实例
2020/01/02 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
统计每一学生的平均成绩
2014/06/06 面试题
培训自我鉴定
2014/01/31 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
Linux磁盘管理方法介绍
2022/06/01 Servers