python - StringIO文本缓冲

参考:http://pymotwcn.readthedocs.org/en/latest/documents/StringIO.html

类StringIO提供了一个在内存中方便处理文本的类文件(读, 写等操作)API. 使用cStringIO来处理大字符串可以提高运行性能,优于其他字符串串联技术.

E:使用StringIO缓冲

#!/usr/bin/env python

"""
Simple examples with StringIO module
"""

# Find the best implementation available on this platform

try:
    from cStringIO import StringIO
except:
    from StringIO import StringIO

# Writing to a buffer
output = StringIO()
output.write(‘This goes into the buffer. ‘)

print >>output, ‘And so does this.‘
# Retrieve the value written
print output.getvalue()

output.close() # discard buffer memory

# Initialize a read buffer
input = StringIO(‘Inital value for read buffer‘)

# Read from the buffer
print input.read()

这个例子中使用了 read() , 但当然, 函数 readline() 和 readlines() 也都是可用的.类StringIO提供 seek() 函数, 因此在读取数据时可以任意跳到某个点上, 这也当你使用某些前看解析算法可以回头读取.

现实世界中, StringIO的应用包括一个网络应用程序栈, 栈的各个部分都可以增加文本到响应response对象中, 或者测试由程序某段输出(典型是写入到文件)的数据.

我们想在创建的工程应用中包括一个shell脚本接口, 他是以多个命令行程序的形式. 这些程序中的某些是负责从数据库中取数据, 然后将这些数据转储到控制台(可以是现实给用户, 也可以是文本中, 这样就可以作为另一个命令的输入). 这些命令他们共享了一组格式化插件以便产生一个对象的多种文本表示(XML, bash语法, 人可读的, 等等).

因为格式化可以将输出数据标准化后写到标准输出, 如果没有StringIO模块, 所得的测试结果可能会有些奇怪. 而使用了StringIO来拦截格式化的输出, 这样以便我们用一个简单的方式来收集内存中的输出数据, 来对预期的结果做比较.

时间: 2024-08-26 03:13:39

python - StringIO文本缓冲的相关文章

【Python】Python在文本分析中将中文和非中文进行分割

1.问题描述 进行文本分析的时候需要将中文和非中文进行分开处理,下面通过Python将文本中的中文部分提取出来进行需要的处理. 2.问题解决 开发环境:Linux 程序代码如下:split.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf8") import re #导入正则表达式模块:re模块 def translate(inputFile, ou

python读取文本、配对、插入数据脚本

#-*- coding:UTF-8 -*- #-*- author:Zahoor Wang -*- import codecs, os, sys, platform, string def env(): return platform.system() def read_file(uri, charset = "utf-8"): f = codecs.open(uri, "r", charset) s = f.read() f.close() return s de

用python处理文本,本地文件系统以及使用数据库的知识基础

主要是想通过python之流的脚本语言来进行文件系统的遍历,处理文本以及使用简易数据库的操作. 本文基于陈皓的:<程序员技术练级攻略> 一.Python csv 对于电子表格和数据库导出文件,比较常见的文件格式是.csv,所以python中的csv模块也是一个比较重要的模块.下面介绍csv常用的方法. 1.csv.reader(csvfile, dialect='excel', **fmtparams) 该函数返回一个reader对象,能够以行遍历的形式遍历行里面的数据. csvfile——需

python将文本转化成gif图片阅读

这是python吧的一个帖子(http://tieba.baidu.com/p/3030737423),具体的就是,导入txt文档,然后就会生成像一个gif的界面,文字不断的更换,用这种方法看文档,如图: 代码: # -*- coding: utf-8 -* #------------------------------------- import pygame from pygame.locals import * from sys import exit import time import

教你利用python处理文本

我是个C/C++ Coder,并不是专业写python的,python lua其实属于一类语言,只不要python的库更多,强大之处并不完全是python语言特性,而且扩展库比较多,请允许我黑一下python,python始终是个脚本语言,优点缺点很明显,作为一个非轻量级脚本语言(与lua较之),python适合干很多系统相关的事情.这里就分析一下如何利用python处理文本,查找,提取. 假定我们要完成这样一个功能:搜索出指定目录内的所有文本,取出指定位置内容,并打印行数和所在的行内容. 遍历

#Python绘制 文本进度条,带刷新、时间暂缓的

#Python绘制 文本进度条,带刷新.时间暂缓的 #文本进度条 import time as T st=T.perf_counter() print('-'*6,'执行开始','-'*6) maxx=11 #要大1 for i in range(maxx): s1='*'*i s2='->' s3='.'*(maxx-i-1) T.sleep(0.5) #假装有延时 dur=T.perf_counter()-st print("\r%3d%%[%s%s%s] %.2fs"%(i

python将文本转换成语音的代码

将写代码过程中经常用的一些代码片段备份一下,如下代码段是关于python将文本转换成语音的代码,应该是对小伙伴们有一些好处. # Text To Speech using SAPI (Windows) and Python module pyTTS by Peter Parente# download installer file pyTTS-3.0.win32-py2.4.exe # and pywin32-204.win32-py2.4.exe at this date the latest

Python Tkinter 文本框(Entry)

Python Tkinter 文本框用来让用户输入一行文本字符串. 你如果需要输入多行文本,可以使用 Text 组件. 你如果需要显示一行或多行文本且不允许用户修改,你可以使用 Label 组件. 语法 语法格式如下: w = Entry( master, option, ... ) master: 按钮的父容器. options: 可选项,即该按钮的可设置的属性.这些选项可以用键 = 值的形式设置,并以逗号分隔. 方法 下表为文本框组件常用的方法: 实例 实例中点击按钮会显示一个信息: 原文地

python根据文本生成词云图

python根据文本生成词云图 效果 代码 from wordcloud import WordCloud import codecs import jieba #import jieba.analyse as analyse from scipy.misc import imread import os from os import path import matplotlib.pyplot as plt from PIL import Image, ImageDraw, ImageFont