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遍历目录的4种方法实例介绍
Apr 13 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
Nov 29 Python
python的pip安装以及使用教程
Sep 18 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
Python流程控制常用工具详解
Feb 24 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
Python pysnmp使用方法及代码实例
Aug 24 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
Python importlib模块重载使用方法详解
Oct 13 Python
Python tkinter实现日期选择器
Feb 22 Python
python 批量压缩图片的脚本
Jun 02 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中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
PHP多进程编程实例
2014/10/15 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
javascript 播放器 控制
2007/01/22 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
python 解压pkl文件的方法
2018/10/25 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
基于opencv实现简单画板功能
2020/08/02 Python
python实现感知机模型的示例
2020/09/30 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
预备党员思想汇报范文
2013/12/29 职场文书
文员岗位职责范本
2014/03/08 职场文书
黄金搭档广告词
2014/03/21 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android