numpyのsavetxt関数を使用してファイルにデータを追加しようとしています。以下は、私が得たエラーが、私は問題は何ができるか疑問に思って、このエラーはpython2では発生しません、エラーの種類について何かpython3-numpy:numpy savetxtを使用してファイルに追加する
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
最小作業例
#!/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()
です。誰か助けてくれますか?
ファイルをテキストモードではなくバイナリで開く必要があります: '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