常用方法和类

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

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

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

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

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

getvalue()

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

例子:

import io

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

# Retrieve file contents -- this will be
# 'First line.
Second line.
'
contents = output.getvalue()

# Close object and discard memory buffer --
# .getvalue() will now raise an exception.
output.close()