嗨,这是我的程序:
with open('C://avy.txt', "rtU") as f:
columns = f.readline().strip().split(" ")
numRows = 0
sums = [0] * len(columns)
for line in f:
# Skip empty lines
if not line.strip():
continue
values = line.split(" ")
for i in xrange(len(values)):
sums[i] += int(values[i])
numRows += 1
for index, summedRowValue in enumerate(sums):
print columns[index], 1.0 * summedRowValue / numRows
我想修改它,以便将输出写入名为Finished的文件。我重写时不断出错。有人可以帮忙吗?
由于
答案 0 :(得分:1)
更改现在显示的代码段:
for index, summedRowValue in enumerate(sums):
print columns[index], 1.0 * summedRowValue / numRows
来制作它,而不是:
with open('Finished', 'w') as ouf:
for index, summedRowValue in enumerate(sums):
print>>ouf, columns[index], 1.0 * summedRowValue / numRows
如您所见,这非常简单:您只需要将循环嵌套在另一个with
语句中(以确保正确打开和关闭输出文件),并将裸print
更改为{ {1}}指示print>>ouf,
使用开放文件对象print
而不是标准输出。
答案 1 :(得分:0)
out = open('Finished', 'w')
for index, summedRowValue in enumerate(sums):
out.write('%s %f\n' % (columns[index], 1.0 * summedRowValue / numRows))