将函数输出的字符串列表写入文件

时间:2016-05-13 18:09:14

标签: python list file indexing

我有一个句子列表,它是我函数的输出。他们看起来像:

["['A', 'little', 'girl', 'spanks', 'her', 'blonde', 'hair', 'Of', 'a', 'twitching', 'nose', 'A', 'cigarette', 'butt.', '$']",
 "['From', 'another', 'town.', '$', 'The', 'arriving', 'train', 'All', 'my', 'sweaty', 'face', 'In', 'a', 'pine', 'tree.']",
 "['In', 'a', 'heavy', 'fall', 'of', 'flakes', 'And', 'timing', 'its', 'wing,', '\\xe2\\x80\\x93', 'A', 'leaf', 'chases', 'wind']",....

"['As', 'green', 'melon', 'splits', 'open', 'And', 'cools', 'red', 'tomatoes!', '$', 'In', 'a', 'breath', 'of', 'an']"]

请原谅句子中的字样​​。他们只是实验。我想把它们写成文件只是简单的句子。

我试过了:

def writeFile(sentences):
    with open("result.txt", "w") as fp:
        for item in sentences:
            fp.write("%s\n" % item)

但我的输出看起来像这样:

['A', 'little', 'girl', 'spanks', 'her', 'blonde', 'hair', 'Of', 'a', 'twitching', 'nose', 'A', 'cigarette', 'butt.', '$']
['From', 'another', 'town.', '$', 'The', 'arriving', 'train', 'All', 'my', 'sweaty', 'face', 'In', 'a', 'pine', 'tree.']

我在Python 2中编码。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

如果您的列表项目的格式为:

"['word0', 'word1', ...., 'wordn']"

然后使用eval将其转换为list个单词,然后join将其转换为以下句子:

def writeFile(sentences):
    with open("result.txt", "w") as fp:
        for item in sentences:
            fp.write("{0}\n".format(" ".join(eval(item))))

如果该项目已经是单词列表,那么您在上面的代码中不需要eval

顺便说一句,如果你喜欢列表理解和功能,那么你可以这样做:

def writeFile(sentences):
    with open("result.txt", "w") as fp:
        fp.write("\n".join(["".join(eval(item)) for item in sentences]))

但是如果句子中有太多项目可能效率不高,因为它最终会占用大量内存。