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中的lambda表达式的用法
Aug 28 Python
带你了解python装饰器
Jun 15 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
python pandas时序处理相关功能详解
Jul 03 Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 Python
python等差数列求和公式前 100 项的和实例
Feb 25 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
Python如何读写CSV文件
Aug 13 Python
python判断变量是否为列表的方法
Sep 17 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
教你利用Selenium+python自动化来解决pip使用异常
May 20 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 date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
2014/09/10 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
python3中bytes和string之间的互相转换
2017/02/09 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
分享6个隐藏的python功能
2017/12/07 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
Python程序暂停的正常处理方法
2019/11/07 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
Linux如何修改文件和文件夹的权限
2013/09/05 面试题
支行行长竞聘演讲稿
2014/05/15 职场文书
党员承诺书格式范文
2015/04/28 职场文书
apache ftpserver搭建ftp服务器
2022/05/20 Servers
利用Redis实现点赞功能的示例代码
2022/06/28 Redis