Увеличивать имя файла при каждом запуске кода Python - PullRequest
0 голосов
/ 03 июля 2018

У меня есть относительно простой код 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-файле, является статической. Мне нужно, чтобы он был динамичным с каждой строкой данных. Любая работа вокруг этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...