Pythonでファイル出力に関する質問があります。 私は3つのセンサーから値を読み取るソフトウェアを設計していました。 各センサーは1秒間に100個の値を読み取り、各プロセスの間にファイルで印刷する必要があります。ファイルに非常に多くの値を書き込む方が良い方法Python(デバイスのメモリ不足)
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]))
ので、ファイル内の結果は、測定時間が8000秒を超える場合、ソフトウェアが停止し、しかし
time_value, x, y, z
time_value, x, y, z
...
のようになります。 私はそれが私が使用しているデバイスは古いもののようなので、デバイスが進めなければならない非常に多くのデータによると思う。 (コンピュータがNI DAQデバイスに接続されているため、デバイスを変更できません)
上記のコードを変更するための多くの代替方法が見つかりましたが、見つかりませんでした。この問題で私を助けることができる人はいますか?
、私はそれがメモリの状況(ヘルプをデバッグするために要求する際、完全なトレースバックを含めてください)のうち、可能性の原因となるファイルの扱いではありません賭ける思い、あなたが書き込む前に測定値をどのように保存しているか。 –
私が正しく理解していれば、毎秒書くのではなく、数秒(10-30秒)のバッチを書くことができますか? –
_測定時間が8000秒を超えると、ソフトウェアは2つの質問を停止します:(a)あなたのpythonスクリプトはどのように 'self.samples'を埋めますか? (b)ソフトウェアが停止するとどうなりますか?あなたは例外、沈黙のハング、何か他のものを見ますか?この情報で質問を更新してください。 –