如何在Python中用日期和时间戳记录和保存文件

2024-04-23 12:55:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过从shell执行的Python代码,使用覆盆子Pi 3记录DS18B20传感器的温度。

我想用时间戳记录温度,然后保存文件。

我现在正在做的是将它保存到代码中输入的文件名中,但是我想在文件名中记录日期和时间戳。

第一种情况:当我在代码中输入文件名时,我可以一遍又一遍地将数据追加到同一个文件中,但如果不编辑代码,我就无法开始新的单独日志记录。

#Writes data to file
def write_temp(temperature):
        with open("/home/pi/temp.csv", "a") as log:
                log.write("{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),str(temperature)))

问题是文件总是temp.csv,每次都会追加数据。

案例2:我试图从时间戳获取文件名,但每秒都会生成一个新文件。

def write_temp(temperature):
        filename1 = strftime("%Y-%m-%d %H:%M:%S")
        #filename1 = sys.argv[1]
        with open('%s.csv' % filename1, 'a') as log:
                log.write("{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),str(temperature)))

在上面的例子中,我希望在每次日志记录开始时或日志记录结束时设置文件名。我还想将名称保存为Log-DateTime而不是仅保存为DateTime。我试着做('"Log-" + %s.csv' % filename1, 'a')而不是('%s.csv' % filename1, 'a'),但没有成功。

理想情况:我希望文件名为WORD-DateTime,其中WORD作为参数从命令行发送,如下所示:

sudo python TTLogging.py WORD

你能指出我错在哪里吗?如果需要,我可以分享我工作的全部代码,因为这是一个学习练习。


Tags: 文件csv代码logdatetime文件名记录时间