StringIO — 像文件一样读写字符串
2017-04-13 23:34
316 查看
该模块实现了一个类文件的 StringIO 类,用于读写字符串缓冲(也称为内存文件).参照文件对象的操作说明(文件对象部分).(字符串参照 str 和 unicode).
class StringIO.StringIO([buffer])
当创建一个 StringIO 对象时,可以传递一个字符串至构造函数来初始化.如果初始化时没有提供字符串,则创建一个空的 StringIO 对象.在这两种情况下,初始文件位置都是从 0 开始的.
StringIO 对象可以接受 Unicode 或者 8-bit 字符串,但是混合使用的时候要注意了.如果两者混用的话,在调用 getvalue() 时不能转译成 7-bit ASCII的8-bit字符串会触发 UnicodeError.
下面的一些 StringIO 对象的方法需要特别注意:
StringIO.getvalue()
调用该方法可以在 StringIO 对象调用 close() 之前获”文件”(指缓冲字符串)的全部内容.参考上面提及的混用 Unicode和 8-bit字符串时的信息;这样的混用可能导致该方法抛出 UnicodeError.
StringIO.close()
释放缓冲内存.试图使用一个已经关闭了的 StringIO 对象做进一步操作时会触发 ValueError.
示例用法:
说明: 最近使用到StringIO模块时参考官方文档时顺便想到就译一下,如有纰漏和错误,恳请指正.免得小子误人误己.另外,该译文基于py2.x.
原文链接: https://docs.python.org/2/library/stringio.html
class StringIO.StringIO([buffer])
当创建一个 StringIO 对象时,可以传递一个字符串至构造函数来初始化.如果初始化时没有提供字符串,则创建一个空的 StringIO 对象.在这两种情况下,初始文件位置都是从 0 开始的.
StringIO 对象可以接受 Unicode 或者 8-bit 字符串,但是混合使用的时候要注意了.如果两者混用的话,在调用 getvalue() 时不能转译成 7-bit ASCII的8-bit字符串会触发 UnicodeError.
下面的一些 StringIO 对象的方法需要特别注意:
StringIO.getvalue()
调用该方法可以在 StringIO 对象调用 close() 之前获”文件”(指缓冲字符串)的全部内容.参考上面提及的混用 Unicode和 8-bit字符串时的信息;这样的混用可能导致该方法抛出 UnicodeError.
StringIO.close()
释放缓冲内存.试图使用一个已经关闭了的 StringIO 对象做进一步操作时会触发 ValueError.
示例用法:
import StringIO output = StringIO.StringIO() output.write('First line.\n') print >>output, 'Second line.' # Retrieve file contents -- this will be # 'First line.\nSecond line.\n' contents = output.getvalue() # Close object and discard memory buffer -- # .getvalue() will now raise an exception. output.close()
说明: 最近使用到StringIO模块时参考官方文档时顺便想到就译一下,如有纰漏和错误,恳请指正.免得小子误人误己.另外,该译文基于py2.x.
原文链接: https://docs.python.org/2/library/stringio.html
相关文章推荐
- Java基本功练习十四(字符串和文本IO【文件读写数据、字符串生成器、String类方法、相关技巧】)
- 【Python】[IO编程]文件读写,StringIO和BytesIO,操作文件和目录,序列化
- ruby: 嵌入字符串、% 呈现、ruby文件读写ruby way之IO之一
- Python笔记-IO同步和异步、 读写文件、StringIO和BytesIO
- Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化
- python基础5--文件操作--字符串读写
- C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()
- 用java的i/o读写文件,举一反三看清io的使用
- IO读写文件/目录 的简单例子
- JAVA IO读写文件
- 用utf8-string读写utf8文件(Windows和Linux下都行)
- Java IO 文件读写相关的操作
- C#2.0 IO学习之读写二进制文件
- IO与文件读写---Java的IO流架构
- .NET Framework 4 文件IO读写的增强 激动人心的强大 或许正是你所期待的 基类库中的新增内容 转自msdn杂志
- c++ stl实现对配置文件的读写 根据windows API WritePrivateProfileString,GetPrivateProfileString简单改写
- C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()
- WinAPI: WritePrivateProfileString、GetPrivateProfileString - 简单读写 Ini 文件
- C#文件读写IO操作 实例
- WINCE 下使用wstring、string读写TXT文件