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动态加载模块的3种方法
Nov 22 Python
Django框架下在URLconf中指定视图缓存的方法
Jul 23 Python
python with提前退出遇到的坑与解决方案
Jan 05 Python
python中字符串数组逆序排列方法总结
Jun 23 Python
django基于restframework的CBV封装详解
Aug 08 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
Python如何操作office实现自动化及win32com.client的运用
Apr 01 Python
基于python 取余问题(%)详解
Jun 03 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
python和php哪个更适合写爬虫
Jun 22 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
如何用Python 加密文件
Sep 10 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 curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
在网页里看flash的trace数据的js类
2009/01/10 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python中property属性实例解析
2018/02/10 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
数控技术专业毕业自荐书范文
2014/02/05 职场文书
老师的检讨书
2014/02/23 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers
Ruby处理YAML和json数据
2022/04/18 Ruby
Java设计模式之代理模式
2022/04/22 Java/Android