2017-09-04 59 views
1

我的程序將幾個numpy數組寫入文本文件,然後在最後我試圖將頭文件(另一個numpy數組)添加到文本文件的頂部。我試圖寫在第一行(只是在文件的開始處使用佔位符),或者最好將numpy數組插入到第一行。使用numpy.savetxt的頭函數將不起作用,因爲它只是將頭部寫入最後一個numpy數組而不是頂部文件。我也試過:如何在文件頂部使用numpy.savetxt

Output.seek(0) 
    np.savetxt(Output,nparr,delimiter=',',fmt='%s') 

但是這也行不通。

回答

0

您將需要先寫入一些填充空間,然後再覆蓋它。在典型的文件系統中沒有「插入內容」的操作。

然後,爲避免savetxt()截斷文件,請將其寫入StringIO對象,然後將其複製到您的文件中。像這樣:

txt = StringIO.StringIO() # Python 3: io.BytesIO() 
np.savetxt(txt, nparr, delimiter=',', fmt='%s') 
Output.seek(0) 
Output.write(txt.getvalue()) 

這假定Output是在合適的模式打開的文件對象。