转载:python中的StringIO模块
注意:python3中应使用io.StringIO
StringIO经常被用来作为字符串的缓存,应为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作。
一、例子
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import StringIOs = StringIO.StringIO()s.write('www.baidu.com\r\n')s.write('news.realsil.com.cn')s.seek(0)print '*' * 20print s.tell()print s.read()print '*' * 20print s.tell()print s.read()print '*' * 20print s.tell()print s.getvalue()print '*' * 20print s.tell()s.seek(-4,2)print s.read() |
运行结果:
********************
0
www.baidu.com
news.realsil.com.cn
********************
34
********************
34
www.baidu.com
news.realsil.com.cn
********************
34
m.cn
二、StringIO类中的方法:
- read
- readline
- readlines
- write
- writeline
- getvalue
- truncate
- tell
- seek
- close
- isatty
- flush
----------------------
s.read([n])
参数n限定读取长度,int类型;缺省状态为从当前读写位置读取对象s中存储的所有数据。读取结束后,读写位置被移动。
----------------------
s.readline([length])
参数length限定读取的结束位置,int类型,缺省状态为None:从当前读写位置读取至下一个以“\n”为结束符的当前行。读写位置被移动。
----------------------
s.readlines([sizehint])
参数sizehint为int类型,缺省状态为读取所有行并作为列表返回,除此之外从当前读写位置读取至下一个以“\n”为结束符的当前行。读写位置被移动。
----------------------
s.write(s)
从读写位置将参数s写入给对象s。参数s为str或unicode类型。读写位置被移动。
----------------------
s.writelines(list)
从读写位置将list写入给对象s。参数list为一个列表,列表的成员为str或unicode类型。读写位置被移动。
----------------------
s.getvalue()
此函数没有参数,返回对象s中的所有数据。
----------------------
s.truncate([size])
从读写位置起切断数据,参数size限定裁剪长度,缺省值为None。
----------------------
s.tell()
返回当前读写位置。
----------------------
s.seek(pos[,mode])
移动当前读写位置至pos处,可选参数mode为0时将读写位置移动至pos处,为1时将读写位置从当前位置起向后移动pos个长度,为2时将读写位置置于末尾处再向后移动pos个长度;默认为0。
----------------------
s.close()
释放缓冲区,执行此函数后,数据将被释放,也不可再进行操作。
----------------------
s.isatty()
此函数总是返回0。不论StringIO对象是否已被close()。
----------------------
s.flush()
刷新内部缓冲区。
----------------------
转载:python中的StringIO模块的更多相关文章
- python中的StringIO模块
python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...
- [转载]python中的sys模块(二)
#!/usr/bin/python # Filename: using_sys.py import sys print 'The command line arguments are:' for i ...
- [转载]Python中的sys模块
#!/usr/bin/python # Filename: cat.py import sys def readfile(filename): '''Print a file to the stand ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python中的logging模块
http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- 浅析Python中的struct模块
最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...
- python中的select模块
介绍: Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...
- Python中的re模块--正则表达式
Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...
随机推荐
- Alpha版使用说明书
游戏规则: 玩家是黑色的小煤球哦! 通过方向键或者ASDW,来控制小球移动(上.下.左.右). 累计时间,直到碰到了红色的小球 ...
- Android Full Screen
http://talentprince.github.io/blog/2015/01/07/android-activity-quan-ping-fang-fa-zong-jie/
- 1Caesar加密
Julius Caesar发明的较早的加密术,举个例子: 明文: meet me after the toga party 密文: PHHW PH DIWHU WKH WRJD SDUWB 其实就 ...
- WPF项目中所遇到的一些问题集
1. 没有Timer控件 解决方案: 第一步:申明一个DispatcherTimer 类的变量, private DispatcherTimer timer; //定时控件 第二步:初始化这个类 ti ...
- Python、Ruby中的SWIG使用案例
案例一:Python通过SWIG使用C码 linux系统 照着文档[1]做就是了~! 案例二:Python程序调用张华平博士最新发布的中文分词库“NLPIR – ICTCLAS2013”为例~! wi ...
- HDU4010 (动态树)
Problem Query on The Trees 题目大意 给一棵树,有点权,要求维护4种操作. 操作1:加一条边. 操作2:删一条边. 操作3:将一条路径上的点权增加w. 操作4:询问一条路径上 ...
- Discuz对不起,您安装的不是正版应用的解决办法
方法三(2014年新增最简单方法.) .打开/source /function/function_cloudaddons.php这个文件,2.搜索:cloudaddons_validator,3.一般 ...
- NOPI Excel插件导入导出 图片批注
dateTable导出到excel的MemoryStream /// <summary> /// DataTable导出到Excel的MemoryStream Export() /// & ...
- Linux mint 18版本开启SSH服务
linux mint 18版本默认是没有安装ssh server的 需要手动安装 安装ssh server: 此命令需要联网,会自动下载安装 安装之后看是否开始了ssh, 看到ssh-agent 和s ...
- Sunny-Code Beta版总结会议
时间:2015-6-12 地点:基教601 参会人员:Sunny-Code全体成员 设想和目标 我们的软件要解决什么问题?是否定义得很清楚? 我们打算做一款集成小蝴蝶功能.Ip快速修改功能.WiFi共 ...