如何保存生成的文本的输出

时间:2011-12-28 15:26:38

标签: python

我使用以下代码生成文本:

for i in xrange(300):
    sys.stdout.write(alphabet[bisect.bisect(f_list, random.random())

我想知道如何存储相同的文本(在变量text1中),以便我可以在以后的代码中使用它:

for i in xrange(300):
    text1=sys.stdout.write(alphabet[bisect.bisect(f_list, random.random())

for word in text1:
    fd.inc(word)

2 个答案:

答案 0 :(得分:3)

这样的东西?

text1 = [alphabet[bisect.bisect(f_list, random.random())] for i in xrange(300)]

答案 1 :(得分:0)

在这一行:

text1=sys.stdout.write(alphabet[bisect.bisect(f_list, random.random())])

您只是覆盖(更改)变量text1的值。正如@eumiro所说的那样,您正在为text1 sys.stdout.write的结果分配None

您可能需要将所有这些值存储在列表中:

texts = []
for i in xrange(300):
    texts.append(alphabet[bisect.bisect(f_list, random.random())])

# Do something with each element of the list
for word in texts:
    fd.inc(word)