文档章节

python中的StringIO模块

指尖跳动的精灵
 指尖跳动的精灵
发布于 2015/04/16 20:48
字数 682
阅读 3956
收藏 0

此模块主要用于在内存缓冲区中读写数据。

模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中。

此类中的大部分函数都与对文件的操作方法类似。

例:
1      #coding=gbk
2       
3      import StringIO, cStringIO, sys
4       
5      s = StringIO.StringIO("JGood is a handsome boy")
6      s.write("JGood is a handsome boy \r\n")
7      s.write('okkkk中国')
8      s.seek(0)
9      print s.read()
10       
11      #最后4个字节
12      s.seek(-4, 2)
13      print s.read()
14       
15      #---- 结果 ----
16      #JGood is a handsome boy 
17      #okkkk中国
18      #中国

----------------------

s=StringIO.StrngIO([buf])

此实例类似于open方法,不同的是它并不会在硬盘中生成文件,而只寄存在缓冲区;可选参数buf是一个str或unicode类型。它将会与其他后续写入的数据存放在一起。

----------------------

StringIO类中的方法:

....● read

....● readline

....● readlines

....● write

....● writelines

....● 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()

刷新内部缓冲区。

----------------------

dir(StringIO.StringIO)的返回值中还包含有一个test函数,不过不用理睬它,它没有任何意义

本文转载自:http://blog.163.com/kat_/blog/static/189284269201152522039410/

共有 人打赏支持
指尖跳动的精灵
粉丝 15
博文 90
码字总数 48459
作品 0
海淀
Python基础——内置hashlib、IO、Json、codecs模块(0426)

一、hashlib 加密模块:提供了很多加密的算法 常见的加密方式:MD5 RSA,加密之后不可逆。没法破解。 1、以MD5的方式加密字符串(Python 3) 示例 结果 2、以MD5的方式加密字符串(Python 2)...

python初雪之路
04/27
0
0
Python中os与sys两模块的区别

前言 os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functionality. 这个模块提供了一种方便的使用操作系统函数的方法。 sys:...

xiaoge2016
04/22
0
0
0. Python3源码—编译

0.1. 整体架构 在最高的层次上,Python的整体架构可以分为三个主要的部分: 左:Python提供的大量的模块、库以及用户自定义的模块; 右:Python的运行时环境,包括对象/类型系统(Object/Ty...

whj0709
06/06
0
0
python学习——基础(九)

读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 try: finally: 读取文件必须执行close方法;另一种方法: with open(r'C:UserssycDesktoptemp.txt') as f: Pyth...

随性_
2015/10/27
0
0
模块使用(md5加密、StringIO、JSON)

md5加密 在英语中hex有十六进制的意思,hexdigest()因此该方法是将hash中的数据转换成数据,其中只包含十六进制的数字 使用encode 防止对中文加密时出现乱码 方式一:对123456ling加密 impo...

jiekegz
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python生成HTML报告

# -*- coding=utf-8 -*-# author=zyqimport timeclass Template(object): '''html报告''' HTML_TEMP=''' <!DOCTYPE html> <html lang="en"> <head......

小白兔_球球
21分钟前
1
0
模型融合资料汇总

https://blog.csdn.net/u012526003/article/details/79109418https://blog.csdn.net/willduan1/article/details/73618677https://blog.csdn.net/wstcjf/article/details/77989963?utm_so......

KYO4321
22分钟前
1
0
热更步骤

根据官方文档: http://docs.cocos.com/creator/manual/zh/advanced-topics/hot-update.html version_generator.js文件放到项目根目录下 注意步骤的顺序: 1.构建 2.根据构建目录运行下面命令...

Valiancer
23分钟前
2
0
小程序重写CheckBox样式

CheckBox /* 重写 checkbox 样式 *//* 未选中的 背景样式 */checkbox .wx-checkbox-input{ border-radius: 50%; width: 40rpx; height: 40rpx;}/* 选中后的 背景样式...

originDu
27分钟前
1
0
mysql自动安装脚本

[root@localhost_04 ~]# cat mysql.sh #!/bin/bash# "################检查本机安装mysql的基本条件########################"echo "Checking  user :"d=`id -u`if [ $d ......

芬野de博客
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部