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设计模式之观察者模式实例
Apr 26 Python
Python中除法使用的注意事项
Aug 21 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
python导出hive数据表的schema实例代码
Jan 22 Python
Python for循环中的陷阱详解
Jul 13 Python
对Python协程之异步同步的区别详解
Feb 19 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
python requests抓取one推送文字和图片代码实例
Nov 04 Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 Python
python如何导入依赖包
Jul 13 Python
Python爬虫获取豆瓣电影并写入excel
Jul 31 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 301转向实现代码
2008/09/18 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
Python交互式图形编程的实现
2019/07/25 Python
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
应用化学专业职业生涯规划书
2013/12/31 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
清正廉洁演讲稿
2014/05/22 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
校本课程教学计划
2015/01/19 职场文书
Django drf请求模块源码解析
2021/06/08 Python
理解python中装饰器的作用
2021/07/21 Python