Python 在jupyter笔记本中保存一个单元格的输出,每个数字后面都有一个新行

Python 在jupyter笔记本中保存一个单元格的输出,每个数字后面都有一个新行,python,jupyter-notebook,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

我将单元格的输出保存为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")

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

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

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


这是您想要的吗?

您的意思是希望列表中的所有元素都在一个新行中吗?@tbone:因为q是一个列表,例如[1,2,3],所以它用逗号分隔。在生成q之后,请尝试此操作
q='\n'。加入(q)
with open('output.txt', 'w') as f:
    f.write(cap.stdout)