首页 > 解决方案 > 在 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")

标签: pythonjupyter-notebook

解决方案


%%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,它将不起作用。

是你想要的吗?


推荐阅读