Я пытаюсь добавить данные в файл с помощью функции savetxt numpy. Ниже приведен рабочий пример минимальногоpython3-numpy: добавление к файлу с использованием numpy savetxt
#!/usr/bin/env python3
import numpy as np
f=open('asd.dat','a')
for iind in range(4):
a=np.random.rand(10,10)
np.savetxt(f,a)
f.close()
ошибка, что я получил что-то о типе ошибки
File "/usr/lib/python3/dist-packages/numpy/lib/npyio.py", line 1073, in savetxt fh.write(asbytes(format % tuple(row) + newline)) TypeError: must be str, not bytes
Эта ошибка не происходит в python2 так мне интересно, что может быть проблема , Может кто-нибудь мне помочь?
Вы должны открыть файл в двоичном формате вместо текстового режима: 'f = open ('asd.dat', 'ba')'. Также рассмотрите использование инструкции 'with', чтобы убедиться, что ваш дескриптор файла правильно закрыт в случае возникновения ошибки. – cel
Возможный дубликат: https://stackoverflow.com/questions/14437054/why-should-i-give-savetxt-a-file-opened-in-binary-rather-than-text-mode. – nwk
@cel Это решило проблему, спасибо – Meenakshi