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中定义结构体的方法
Mar 04 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
Jan 09 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
Python内置random模块生成随机数的方法
May 31 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
Python通过两个dataframe用for循环求笛卡尔积
Apr 29 Python
Python发送邮件封装实现过程详解
May 09 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
Python预测2020高考分数和录取情况
Jul 08 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
python析构函数用法及注意事项
Jun 22 Python
Python中re模块的元字符使用小结
Apr 07 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
JavaScript 三种创建对象的方法
2009/10/16 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
js基础知识(公有方法、私有方法、特权方法)
2015/11/06 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
layui导航栏实现代码
2017/05/19 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python实现月食效果实例代码
2019/06/18 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
python实时监控logstash日志代码
2020/04/27 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
简历上的自我评价
2014/02/03 职场文书
园林设计专业毕业生求职信
2014/03/23 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
监察建议书格式
2014/05/19 职场文书
群教班子对照检查材料
2014/08/26 职场文书
2015年科普工作总结
2015/07/23 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
sass 常用备忘案例详解
2021/09/15 HTML / CSS
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python