У меня есть относительно простой код Python, который считывает последовательные данные из Arduino и выводит их в CSV-файл.
Я могу успешно сохранить данные, но мне нужно, чтобы при повторном запуске кода он создавал новый файл. (Data1 ... Data2 ... и т.д.).
Я написал код, который должен это делать, но вместо этого он просто добавляет больше данных в первый файл и никогда не создает никаких дополнительных файлов:
import serial
import time
from datetime import datetime
import os
timestamp = datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')
#The purpose of this code is to read the data from the arduino and then save
each string
# into a csv file, which can be retrieved via the RPi's USB.
ser = serial.Serial('/dev/ttyACM0',115200) #on the pi
#ser=serial.Serial('COM6',115200) #on the pc
for i in range(1,100000):
while True:
str(ser.readline())
s = [0]
s[0] = str(ser.readline())
s[0] = str(ser.readline())
s[0] = str(ser.readline())
while os.path.exists("TDRData%s.csv" % i):
i += 1
f = open("TDRData%s.csv" % i, "a+")
f.write(timestamp+s[0])
Я не совсем уверен, почему это не работает. Я чувствую, что мой метод, вероятно, немного ленив и может быть оптимизирован, поэтому, если есть какие-либо предложения, было бы здорово услышать их.
У меня есть еще один небольшой вопрос, на данный момент это не актуально. Но отметка времени, которая печатается в CSV-файле, является статической. Мне нужно, чтобы он был динамичным с каждой строкой данных. Любая работа вокруг этого?