我试图通过从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
你能指出我错在哪里吗?如果需要,我可以分享我工作的全部代码,因为这是一个学习练习。
目前没有回答
相关问题 更多 >
编程相关推荐