В настоящее время я пытаюсь создать программу, которая делает текстовый файл с первой строкой «s16», после чего он должен заполнить следующие строки цифрами. Мой текущий код выглядит примерно так:Запись строки в текстовый файл, а затем массив с использованием numpy savetxt
import os
import numpy as np
file = open('workfile.txt','wb')
file.write('s16\n')
array=np.eye(4)
np.savetxt(file, array, fmt='%.3f', newline=os.linesep)
Но это выплевывает ошибку в file.write('s16\n')
, потому что я открыл файл с «термометром», который означает, что я пытаюсь писать байты и «S16 \ п» является строка. Но если я изменю «wb» на «w», тогда np.savetxt(file, wut, fmt='%.3f', newline=os.linesep)
выдает аналогичную ошибку, не находясь в режиме «wb». Есть ли способ примирить эти два? Благодаря!
Это именно то, что я искал, спасибо! Единственная проблема заключается в том, что file.write (b's16 \ n '), по-видимому, не создает новую строку, а когда np.savetxt (файл, массив, fmt ='%. 3f ', newline = os.linesep) запускает' s16 'находится в том же ряду, что и первая строка или np.eye (4) –