use*_*211 11 python printing generator save
我使用以下生成器来计算移动平均值:
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)
Run Code Online (Sandbox Code Playgroud)
我可以打印发生器输出,但我无法弄清楚如何将该输出保存到文本文件中.
x = (1,2,2,4,1,3)
avg = moving_average(x,2)
for value in avg:
print value
Run Code Online (Sandbox Code Playgroud)
当我更改打印行以写入文件时,输出将打印到屏幕上,创建一个文件但它保持为空.
提前致谢.
bla*_*kev 16
def generator(howmany):
for x in xrange(howmany):
yield x
g = generator(10)
with open('output.txt', 'w') as f:
for x in g:
f.write(str(x))
with open('output.txt', 'r') as f:
print f.readlines()
Run Code Online (Sandbox Code Playgroud)
输出:
>>>
['0123456789']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11875 次 |
最近记录: |