Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26266943
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Python/Ruby

2010-03-18 14:25:48

python常用模块学习之StringIO

[整理人:遥方  整理时间:2010-3-18]

StringIO经常被用来作为字符串的缓存,因为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作。

示例:

#-*- coding: utf-8 -*-

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就可以非常方便的作为"内存文件对象"

PS:我觉得这个就是相当于将文件暂时存放到内存区域。而不是存放到硬盘上去。这样的话如果你把文件存放到内存可以快速提升效率。

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

像读写文件一样读写字符串。将字符串存放到内存

 

阅读(687) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~