1

Python でのファイル出力について質問があります。3 つのセンサーから値を読み取るソフトウェアを設計していました。各センサーは 1 秒間に 100 個の値を読み取り、各プロセス間でそれらをファイルに出力する必要があります。

time_memory = [k + i/100 for i in range(100)] # dividing 1 second into 100 intervals
x = [100 elements]
y = [100 elements]
z = [100 elements]

以下は、ファイルに書き込むコードです。

for i in range(self.samples):
    self.time_memory[i] = file_time + self.time_index[i] 
    f.write("{0} {1} {2} {3}\n".format(self.time_memory[i], x[i], y[i], z[i]))

したがって、ファイルの結果は次のようになります

time_value, x, y, z
time_value, x, y, z
...

ただし、測定時間が 8000 秒を超えるとソフトウェアが停止します。私が使用しているデバイスは古いものなので、デバイスが処理しなければならないデータが非常に多いためだと思います。(コンピュータがNI DAQデバイスに接続されているため、デバイスを変更できません。)

上記のコードを変更するための多くの代替方法を見つけようとしましたが、見つかりませんでした。この問題で私を助けることができる人はいますか??

4

1 に答える 1

-1

1 つの提案は、バイナリ モードでデータを書き込むことです。これは、テキスト モードよりも高速です (必要なスペースも少なくて済みます)。したがって、次のようにファイルをバイナリ モードで開く必要があります。

f = open('filename.data', 'wb') 
于 2016-09-14T08:10:05.233 に答える