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模块之StringIO相关推荐

  1. Python 模块大全(很详细!)

    转载:.... Python的模块大全,很全,有详细介绍! 另外附Python两个教程 1. Python详细教程(廖雪峰的官方网站,语言简洁!) 2. Python 进阶教程 (Vamei) 3. ...

  2. python 模块大全

    Python 模块大全(很详细!) 转载 2014年12月12日 20:47:18 标签: Python / 模块 / 教程 / 4479 编辑 删除 Python 模块大全很详细 01 关于本书 0 ...

  3. Python模块(自己整理并不完整)

    PY核心模块方法 ******************** os模块: os.remove() 删除文件  os.unlink() 删除文件  os.rename() 重命名文件  os.listdi ...

  4. python模块之tqdm:简易教程

    python模块------tqdm tqdm可以让你的程序显示一个智能进度表,它可以包装任何可迭代的内容.除了低开销的特点之外,tqdm还使用智能算法来预测剩余时间并跳过不必要的迭代显示,它的开销在 ...

  5. python stringio_python 的StringIO

    python 3.4以后StringIO和cStringIO就没有了,转移到 io,的StringIO和BytesIO from io import StringIO fp=StringIO( ) 1 ...

  6. GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态

    GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态 一个Python模块,用于在Python中使用nvidia-smi以编程方式从NVIDA GPU获取GP ...

  7. 在Ubuntu 14.04.5 LTS上安装python模块selenium 3实录

    简介 Selenium是python模块库中一组web自动化测试工具集,提供多种语言的API,例如java,python,ruby,.net等,支持Firefox,Chrome,IE,Safari 等 ...

  8. Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8

    我使用python的MySQLdb模块实现了一个mysql client, 在测试时,出现了如下错误 Python模块MySQLdb操作mysql出现2019错误:Can't initialize c ...

  9. Python培训教程分享:Python模块如何导入__all__属性?

    本期小编为大家带来的Python培训教程是关于"Python模块如何导入__all__属性?"的内容,后面在工作中是会遇到Python模块这个工作内容的,Python模块的开头通常 ...

最新文章

  1. Go 学习笔记(6)— 变量定义、变量声明、变量作用域
  2. 启用Apache Mod_rewrite模块
  3. (转)RTSP协议详解
  4. python界面颜色-给Python点颜色——青少年学编程
  5. 学习旧岛小程序 (4)封装api 请求
  6. python项目部署到docker_使用docker 部署python 项目
  7. sql中union和union all的区别
  8. jQuery---过滤选择器
  9. Android:四大架构的优缺点,你真的了解吗?
  10. web-storage-cache 使用JS数据缓存
  11. 子进程中获取父进程id_进程全家桶,看这一篇就够了 | 原力计划
  12. js轮询导致服务器瘫痪_面试官:讲一下什么是负载均衡,什么是轮询策略随机策略哈希策略...
  13. linux sshd进程起不来,linux sshd服务异常
  14. python语言是非开源语言_python是非开源语言吗
  15. MySQL函数、存储过程
  16. mysql 导入SQL脚本及乱码处理
  17. 二、帧模式 MPLS 操作
  18. codeigniter.php,CodeIgniter.php在做什么
  19. 体验Android:个人所得税计算器 含源码
  20. 数据库常见的安全问题有哪些?

热门文章

  1. 今天电面阿里飞猪的惨烈教训
  2. ROS2机器人笔记20-11-29
  3. 做一个网站一般需要多少费用
  4. dllhell 听说过吗?_您已经听说过X25519,但是X448有何特别之处?
  5. 计算机网络实验以太网帧分析,实验二 用Ethereal捕获并分析以太网帧格式
  6. 用tensorflow.js实现浏览器内的手写数字识别
  7. 产品经理和项目经理的差异
  8. 值的比较(大于 等于 小于 不等于)
  9. 工作生活可能用得到的资源
  10. 鸿蒙系统自带app分身,哪些手机自带应用分身功能 自带应用分身功能手机推荐...