python学习 ---- StringIO和cStringIO的区别
2016-09-10 20:24
477 查看
StringIO
这个模块实现了一个类文件(file-like)的类.
StringIO能够读取和写入一个字符缓冲区(也被称为内存文件)。
当一个StringIO被创建时,它能够初始化一个字符串通过字符构造器。
StringIO对象能够接收Unicode或8位(bit)字符串。
StringIO的用法:
<span style="font-size:14px;">from StringIO import StringIO
s = StringIO('ABCDEF')
s.write('abc')#会覆盖'ABC'
#输出'abcDEF'
s.seek(0)#定位到第0个字符,相当于指针
print s.read()#从当前位置读取到结束
s.seek(0)
print s.read(2)#从当前位置只读取两个字符
#如果想读取所有内容,可以直接使用getvalue(),其不受seek的影响
s.seek(2)
print s.getvalue()</span>
StringIO.close():释放内存缓冲
cStringIO
cStringIO模块类似StringIO模块,不过比StringIO模块更高效。
不像StringIO模块,cStringIO模块不能接收Unicode字符串。
另一个区别是cStringIO模块能够调用StringIO(parameter)方法(里面的参数parameter是一个字符串)去创建一个只读(read-only)对象
这个模块实现了一个类文件(file-like)的类.
StringIO能够读取和写入一个字符缓冲区(也被称为内存文件)。
当一个StringIO被创建时,它能够初始化一个字符串通过字符构造器。
StringIO对象能够接收Unicode或8位(bit)字符串。
StringIO的用法:
<span style="font-size:14px;">from StringIO import StringIO
s = StringIO('ABCDEF')
s.write('abc')#会覆盖'ABC'
#输出'abcDEF'
s.seek(0)#定位到第0个字符,相当于指针
print s.read()#从当前位置读取到结束
s.seek(0)
print s.read(2)#从当前位置只读取两个字符
#如果想读取所有内容,可以直接使用getvalue(),其不受seek的影响
s.seek(2)
print s.getvalue()</span>
StringIO.close():释放内存缓冲
cStringIO
cStringIO模块类似StringIO模块,不过比StringIO模块更高效。
不像StringIO模块,cStringIO模块不能接收Unicode字符串。
另一个区别是cStringIO模块能够调用StringIO(parameter)方法(里面的参数parameter是一个字符串)去创建一个只读(read-only)对象
相关文章推荐
- Python随学随记(9)—— OOP相关
- python爬虫之scrapy框架(一)
- Python标准库简介
- Linear Least Squares 的多项式表达和矩阵表达 与 Python 实现
- [Python模块学习]chardet模块识别字节包编码
- 通过多项式来拟合股票收盘价的趋势图
- Platt SMO 支持向量机算法(Python实现)
- Python 2.7.x 和 3.x 版本的区别
- Python 字符串
- Python学习初衷、心得
- Python批量替换文本内容
- Python学习笔记2(控制语句)
- python环境管理
- Python笔记
- python实现括号分组
- ★leetcode05_Longest Palindromic Substring
- python单元测试--这个必须有
- 常见python面试题
- python-print的区别(2和3)
- Python第一周基础篇