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