파이썬에서 파일 출력에 관한 질문이 있습니다. 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 디바이스에 연결되어 있기 때문에 디바이스를 변경할 수 없습니다.)
위의 코드를 변경하는 많은 대체 방법을 찾으려고했지만 찾을 수 없었습니다. 이 문제로 나를 도울 수있는 사람이 있습니까 ??
나는이 (도움을 디버깅을 요청할 때 전체 역 추적을 포함하십시오) 메모리 상황에서 가능한 원인 파일 처리되지 않습니다 내기 것, 하지만 어떻게 작성하기 전에 측정 값을 저장하고 있는지. –
잘 모르겠다. 정확하게 이해할 수 있지만 1 초마다 작성하는 대신 몇 초 (10-30 초)의 배치를 작성할 수 없습니까? –
_ 측정 시간이 8000 초를 넘으면 소프트웨어는 2 가지 질문을 멈 춥니 다. (a) 파이썬 스크립트가'self.samples'를 어떻게 채우고 있습니까? (b) 소프트웨어가 멈출 때 어떻게됩니까? 예외, 조용한 중단, 다른 것을 보시겠습니까? 이 정보로 질문을 업데이트하십시오. –