Próbuję dołączyć dane do pliku za pomocą funkcji savetxt numpy. Poniżej znajduje się przykład minimum pracypython3-numpy: Dołączanie do pliku przy użyciu 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()
Błąd, że mam coś o rodzaju błędu
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
Ten błąd nie występuje w python2 więc zastanawiam się co może być problem . Czy ktoś może mi pomóc?
Musisz otworzyć plik w trybie binarnym zamiast tekstowym: 'f = open ('asd.dat', 'ba')'. Rozważ również użycie instrukcji 'with', aby upewnić się, że uchwyt pliku zostanie poprawnie zamknięty w przypadku wystąpienia błędu. – cel
Prawdopodobny duplikat: https://stackoverflow.com/questions/14437054/why-should-i-give-savetxt-a-file-opened-in-binary-rather-tan-text-mode. – nwk
@cel To rozwiązało problem, dzięki – Meenakshi