博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

常用方法和类

Posted on 2017-08-01 13:44  开飞机的贝塔  阅读(147)  评论(0编辑  收藏  举报

class io.StringIO(initial_value='', newline='\n')

用于文本I / O的内存流。 当调用close()方法时,文本缓冲区将被丢弃。

缓冲区的初始值可以通过提供initial_value来设置。 如果启用换行,则换行将被编码,就好像通过write()。 流位于缓冲区的开头。

换行符与TextIOWrapper类似。 默认情况下只考虑\ n个字符作为行尾,并且不进行换行。 如果换行符设置为None,则在所有平台上将换行符写为\ n,但在阅读时仍然会执行通用的新行解码。

除了TextIOBase及其父类之外,StringIO还提供了这种方法:

getvalue()

返回一个包含缓冲区的全部内容的str。 新行被解码,就像read()一样,尽管流位置没有改变。

例子:

import io

output = io.StringIO()
output.write('First line.\n')
print('Second line.', file=output)

# 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()