呃,所以我在处理解析器之类的东西,我要从一个处理文件的东西转到另一个。
我的代码第一部分的输出是一个字符串列表;我将每个字符串视为文本文件中的一行。
代码的第二部分需要一个文件类型作为输入。
所以我的问题是,是否有适当的 Pythonic 方式将字符串列表转换为对象之类的文件?
我可以将我的字符串列表写入一个文件,然后重新打开该文件,它会正常工作,但如果没有必要,必须写入磁盘似乎有点愚蠢。
我相信第二部分所需要做的就是像对象一样在文件上调用“read()”,所以我还可以定义一个新类,以 read 作为方法,它返回一个长字符串,它是所有的线串。
谢谢, -尼克
请您参考如下方法:
StringIO实现(几乎)所有 stdio 方法。示例:
>>> import StringIO
>>> StringIO.StringIO("hello").read()
'hello'
cStringIO是一个更快的对应物。
要转换您的字符串列表,只需加入它们:
>>> list_of_strings = ["hello", "line two"]
>>> handle = StringIO.StringIO('\n'.join(list_of_strings))
>>> handle.read()
'hello\nline two'
