呃,所以我正在处理解析器等等,而且我将从一个处理文件的东西转到另一个.
我的代码的第一部分的输出是一个字符串列表; 我正在考虑将每个字符串作为文本文件中的一行.
代码的第二部分需要一个文件类型作为输入.
所以我的问题是,是否有一种正确的,pythonic的方式将字符串列表转换为像对象一样的文件?
我可以将我的字符串列表写入文件,然后重新打开该文件,它可以正常工作,但如果没有必要,写入磁盘似乎有点傻.
我相信所有第二部分需要的是在文件上调用'read()',就像对象一样,所以我也可以用read作为方法定义一个新类,它返回一个长字符串,这是所有字符串的串联线串.
谢谢, - 快
StringIO
实现(几乎)所有stdio方法.例:
>>> import StringIO
>>> StringIO.StringIO("hello").read()
'hello'
Run Code Online (Sandbox Code Playgroud)
cStringIO是一个更快的对手.
要转换您的字符串列表,只需join
它们:
>>> list_of_strings = ["hello", "line two"]
>>> handle = StringIO.StringIO('\n'.join(list_of_strings))
>>> handle.read()
'hello\nline two'
Run Code Online (Sandbox Code Playgroud)