np.savetxt即使文件仍处于打开状态也不会追加

问题描述 投票:0回答:1

问题是,当我运行npsavetext时,它不能正常工作,我最初将其作为while循环(在我看来,这是最理想的选择,它循环遍历具有匹配列表的列表并将它们附加到单个列表中。文件)

下面是我的代码:

atable=['a','b','b','a','b','b']
f=open(tempfilename,'ab')
f.write(b"\n")
with open(tempfilename,'ab') as f:
    for s in atable: 
        structuredArr=np.array([s,"+"])    
        np.savetxt("./fastqs/"+tempfilename, structuredArr, delimiter=' ', fmt=['%s'])  
f.close()

预期结果如下:

a
+
b
+
b
+
a
+
b
+
b

实际结果是

+
b

理想情况下,我实际上想做的是下方:

icounter=0
    f=open(tempfilename,'ab'
    while icounter < len(tempid): 
        with open(tempfilename,'ab') as f:
            # Creating the type of a structure
          structuredArr=np.array([tempid[icounter],tempseq[icounter],"+",tempqc[icounter]])
            np.savetxt("./fastqs/"+tempfilename, structuredArr, delimiter=' ', fmt=['%s'])  
            f.write("\n")
        icounter=icounter+1 
    f.close()

我虽然后者可能由于我的while循环而没有追加。

任何帮助都会很棒。

python numpy append
1个回答
0
投票

[使用with open时,使用缩进的块进行保存。

In [329]: atable=['a','b','b','a','b','b'] 
     ...: with open('abtest.csv','ab') as f: 
     ...:     for s in atable:  
     ...:         structuredArr=np.array([s,"+"])     
     ...:         np.savetxt(f, structuredArr, delimiter=' ', fmt=['%s'])   
     ...:                                                                                
In [330]: cat abtest.csv                                                                 
a
+
b
+
b
+
a
+
b
+
b
+
© www.soinside.com 2019 - 2024. All rights reserved.