将单元格的输出保存在jupyter笔记本中,并在每个数字后换行

tbo*_*one 2 python jupyter-notebook

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

第一个单元格:

%%capture cap --no-stderr
print(q)
Run Code Online (Sandbox Code Playgroud)

第二个单元格:

with open('output.txt', 'w') as f:
    f.write(cap.stdout)
Run Code Online (Sandbox Code Playgroud)

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

#%%
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)]
Run Code Online (Sandbox Code Playgroud)

文件已保存,但是生成的数字由逗号分隔,但我希望每个生成的数字由新行而不是逗号分隔

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

with open('output.txt', 'a') as f:
    f.write("\n")
Run Code Online (Sandbox Code Playgroud)

Com*_*non 7

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

%%capture cap --no-stderr
for i in q:
    print(i)
Run Code Online (Sandbox Code Playgroud)
with open('output.txt', 'w') as f:
    f.write(cap.stdout)
Run Code Online (Sandbox Code Playgroud)

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

是你想要的吗?