每次运行代码时文件名都会递增-Python

时间:2018-07-03 17:47:18

标签: python arduino raspberry-pi

我有一个相对简单的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文件中的时间戳是静态的。我需要它对每行数据都是动态的。有什么解决办法吗?

0 个答案:

没有答案