4

を使用して、100x6 numpy 配列をデータファイルに書き込もうとしています

# print  array to file
data = open("store.dat", "w")
for j in xrange(len(array)):
    data.write(str(array[i]) + "\n")

ただし、ファイルが書き込まれると、68 文字の後に行が自動的に分割されます。つまり、6 列配列の 5 列です。例えば見たい

[ 35.47842918  21.82382715   3.18277209   0.38992263   1.17862342   0.46170848]

行の1つとして、しかし取得しています

[ 35.47842918  21.82382715   3.18277209   0.38992263   1.17862342
0.46170848]

私はそれを問題に絞り込み、str(array[i])それ自体を新しい行にすることにしました。

第二に、これについてもっと良い方法はありますか?私はPythonに非常に慣れておらず、Pythonで適切にコーディングすることについてほとんど知りません。最終的に、VPython で座標をレンダリングするモジュールによって後で読み取られるように、星のシミュレーションを書き出しています。リアルタイム レンダリングの問題を回避するには、シミュレーションが完了したらファイルを渡すだけでよいと考えました。これは非効率ですか?代わりにオブジェクトを渡す必要がありますか?

ありがとうございました

4

1 に答える 1

7

numpy.saveおそらく、代わりに を使用して記述した方が便利でしょうか?

または、次を使用することもできます。

numpy.array_str(array[i], max_line_width=1000000)
于 2013-06-29T21:35:06.193 に答える