簡體   English   中英

在python中 將文件列表轉換為類似對象的文件

[英]in python; convert list of files to file like object

呃,我這么忙於解析器之類的東西,而我正從一件事處理文件到另一件事。

我的代碼的第一部分的輸出是一個字符串列表; 我正在將每個字符串視為文本文件中的一行。

代碼的第二部分需要文件類型作為輸入。

所以我的問題是,是否有適當的,pythonic的方式將字符串列表轉換為類似對象的文件?

我可以將字符串列表寫到文件中,然后重新打開該文件,它可以正常工作,但是如果沒有必要,必須寫入磁盤似乎有點愚蠢。

我相信第二部分所需要的只是在對象之類的文件上調用“ read()”,因此我還可以使用read作為方法定義一個新類,該類返回一個長字符串,該字符串是所有行字符串。

謝謝,-尼克

StringIO實現(幾乎)所有stdio方法。 例:

>>> import StringIO
>>> StringIO.StringIO("hello").read()
'hello'

cStringIO是一個更快的副本。

要轉換您的字符串列表,只需join它們join

>>> list_of_strings = ["hello", "line two"]
>>> handle = StringIO.StringIO('\n'.join(list_of_strings))
>>> handle.read()
'hello\nline two'

您可以在列表上使用StringIO和str.join,即

import StringIO
f = StringIO.StringIO("\n".join(lines))

假設行是您的行列表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM