在每个数字之后用新行将单元格的输出保存在jupyter笔记本中

时间:2019-07-19 12:29:52

标签: python jupyter-notebook

我将单元格的输出保存为txt文件,如下所示:

第一个单元格:

%%capture cap --no-stderr
print(q)

第二个单元格:

with open('output.txt', 'w') as f:
    f.write(cap.stdout)

下面是我想保存的一小段代码:

#%%
np.seterr(over='ignore')

a = np.uint32(1664525)
c = np.uint32(1013904223)
seed = np.uint32(1)

rng = LCG(seed, a, c)
q = [rng.next() for _ in range(0, 2500000)]

文件已保存,但是生成的数字用逗号分隔,但是我希望每个生成的数字用换行符(而不是逗号)分隔

我尝试将“ w”更改为“ a”,并按如下所示添加“ \ n”,但这对我不起作用。

with open('output.txt', 'a') as f:
    f.write("\n")

1 个答案:

答案 0 :(得分:1)

%%capture捕获了此单元格中所有其旁边的代码,因此您可以打印出列表中的所有元素。

%%capture cap --no-stderr
for i in q:
    print(i)

with open('output.txt', 'w') as f:
    f.write(cap.stdout)

cap.stdout处理%%capture整体捕获的内容,因此,当您尝试添加\n时,它将不起作用。

是您想要的吗?