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中的计时器timeit的使用方法
Oct 20 Python
python调用Delphi写的Dll代码示例
Dec 05 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
May 04 Python
python中ASCII码字符与int之间的转换方法
Jul 09 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
python实现beta分布概率密度函数的方法
Jul 08 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
python requests证书问题解决
Sep 05 Python
pymysql的简单封装代码实例
Jan 08 Python
Django ORM filter() 的运用详解
May 14 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 Python
python神经网络编程之手写数字识别
May 08 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 管理系统程序中的后门
2009/08/05 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
php可变长参数处理函数详解
2017/02/22 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
document.open() 与 document.write()的区别
2007/08/13 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
简洁的十分钟Python入门教程
2015/04/03 Python
Django内容增加富文本功能的实例
2017/10/17 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
党支部活动策划方案
2014/08/18 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸