Python:如何将生成器输出保存到文本文件中?

2024-06-03 09:33:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下生成器计算移动平均值:

import itertools
from collections import deque
    def moving_average(iterable, n=50):
    it = iter(iterable)
    d = deque(itertools.islice(it, n-1))
    d.appendleft(0)
    s = sum(d)
    for elem in it:
        s += elem - d.popleft()
        d.append(elem)
        yield s / float(n)

我可以打印生成器输出,但我不知道如何将输出保存到文本文件中。

x = (1,2,2,4,1,3)
avg = moving_average(x,2)
for value in avg:
    print value

当我将打印行更改为写入文件时,输出将打印到屏幕上,创建一个文件,但它保持为空。

提前谢谢。


Tags: 文件infromimportforvalueititerable