StringIO将字符串当做文件处理,十分方便

>>> from StringIO import StringIO
>>> file_like_string = StringIO()
>>> file_like_string.write("hello\n") #写入数据
>>> file_like_string.write("world\n")
>>> file_like_string.write("I am StringIO\n")
>>> dir(file_like_string)
['__doc__', '__init__', '__iter__', '__module__', 'buf', 'buflist', 'close', 'closed', 'flush', 'getvalue', 'isatty', 'len', 'next', 'pos', 'read', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines']
>>> file_like_string.getvalue() #获取StringIO中包含的所有数据,与当前读写位置无关
'hello\nworld\nI am StringIO\n'
>>> file_like_string.tell() #获取当前读写位置
26
>>> file_like_string.read() #从末尾开始读取
''
>>> file_like_string.seek(0) #定位到开头
>>> file_like_string.read() #读取所有数据
'hello\nworld\nI am StringIO\n'
>>> file_like_string.seek(0)
>>> file_like_string.readline() #一次读取一行
'hello\n'
>>> file_like_string.readline()
'world\n'
>>> file_like_string.seek(0)
>>> file_like_string.readlines() #读取所有行放入列表中
['hello\n', 'world\n', 'I am StringIO\n']
>>> file_like_string.seek(0)
>>> for line in file_like_string: #StringIO对象可迭代,__iter__
... print line.strip()
...
hello
world
I am StringIO
>>> file_like_string.seek(6) #定位,起始位置偏移量为0
>>> file_like_string.getvalue()
'hello\nworld\nI am StringIO\n'
>> file_like_string.len #获取内部字符串长度
26
>>> file_like_string.truncate() #从指定位置开始截断数据
>>> file_like_string.getvalue()
'hello\n'
>> file_like_string.len
6
>>> file_like_string.close() #关闭StringIO对象

StringIO-将字符串当做文件处理的更多相关文章

  1. linux md5 加密字符串和文件方法

    linux md5 加密字符串和文件方法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意 ...

  2. PHP fwrite 函数:将字符串写入文件(追加与换行)(转)

    PHP fwrite() fwrite() 函数用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE . 语法: int fwrite( resource handle, string s ...

  3. PHP fwrite 函数:将字符串写入文件(追加与换行)

    PHP fwrite() fwrite() 函数用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE . 语法: int fwrite( resource handle, string s ...

  4. divmod(a,b)函数是实现a除以b,然后返回商与余数的元组、eval可以执行一个字符串形式的表达式、exec语句用来执行储存在字符串或文件中的Python语句

    #!/usr/bin/env python a = 10/3 print(a) #divmod计算商与余数 r = divmod(10001,20) print(r) #eval可以执行一个字符串形式 ...

  5. Swift3.0语言教程字符串与文件的数据转换

    Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...

  6. 【Windows批处理III】实现删除含自定字符串的文件和文件夹(搜索子目录)

    1)目的:实验室小网空间因镜像版本太多,容量告警,希望清出一部分空间 具体需求:删除E盘下,所有含rar字符串的文件: 删除E盘下,所有含hi6620字符串文件夹: 步骤: (风险请知:如果不chec ...

  7. Java利用MessageDigest提供的MD5算法加密字符串或文件

    MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性.用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm).另外还有一种常用的消息摘要算法SHA1.如果想了 ...

  8. 使用python求字符串或文件的MD5

    使用python求字符串或文件的MD5 五月 21st, 2008 #以下可在python3000运行. #字符串md5,用你的字符串代替'字符串'中的内容. import hashlib md5=h ...

  9. python 查找目录下 文件名中含有某字符串的文件

    有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...

随机推荐

  1. [转]MVC Html.AntiForgeryToken() 防止CSRF攻击

    [转]MVC Html.AntiForgeryToken() 防止CSRF攻击 本文转自:http://blog.csdn.net/luck901229/article/details/8261640 ...

  2. oracleXE默认的管理员登录用户

    管理员: account:sys@XE as sysdba     pwd:sys sys@XE as sysdba             system

  3. js日期选择并将日期返回文本框

    date.js // JavaScript Document var gMonths=new Array("一月","二月","三月",&q ...

  4. easyui 定义的右键菜单 在 浏览器中 失效.

    使用 火狐 打开 easy ui 开发的网页, 鼠标右键 没有出现 自定义的 easyUI右键菜单, 出现的是鼠标本身的右键菜单. 如果使用ie 则正常. 原因在于我 的火狐使用了解除右键限制 这个脚 ...

  5. TP 模板的变量输出

  6. IOS的各种控件(转载,防止遗忘)

    UITextView控件的详细讲解 感觉写的相当不错,而且很全就直接转载了 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: #import <UIKit/UIKi ...

  7. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) (转载)

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...

  8. socket can demo

    http://www.cnblogs.com/zengjfgit/p/5327689.html

  9. Tensorflow中的滑动平均模型

    原文链接 在Tensorflow的教程里面,使用梯度下降算法训练神经网络时,都会提到一个使模型更加健壮的策略,即滑动平均模型. 基本思想 在使用梯度下降算法训练模型时,每次更新权重时,为每个权重维护一 ...

  10. [LeetCode&Python] Problem 804. Unique Morse Code Words

    International Morse Code defines a standard encoding where each letter is mapped to a series of dots ...