如何使用睡眠来限制日志中的数据?
How to use sleep to limit data put in logs?
我是 python 的新手,刚开始使用它。
我写了下面的脚本去从 SenseHat 获取一些数据,但不幸的是它没有做它应该做的事情。
它应该从 SenseHat 获取温度、湿度和压力,并每 10 分钟写入一个文件"data.csv"。
没有 sleep(600)
脚本工作正常,但记录了很多数据。使用 sleep
函数似乎什么都不做...
这是我的脚本:
from sense_hat import SenseHat
from datetime import datetime
from csv import writer
from time import sleep
sense = SenseHat()
def get_sense_data():
sense_data = []
sense_data.append(datetime.now())
sense_data.append(sense.get_temperature())
sense_data.append(sense.get_pressure())
sense_data.append(sense.get_humidity())
return sense_data
#while True:
# print(get_sense_data())
with open('data.csv', 'wb') as f:
data_writer = writer(f)
data_writer.writerow(['time','temp','pres','hum'])
while True:
data = get_sense_data()
data_writer.writerow(data)
sleep(600)from sense_hat import SenseHat
from datetime import datetime
from csv import writer
from time import sleep
sense = SenseHat()
def get_sense_data():
sense_data = []
sense_data.append(datetime.now())
sense_data.append(sense.get_temperature())
sense_data.append(sense.get_pressure())
sense_data.append(sense.get_humidity())
return sense_data
#while True:
# print(get_sense_data())
with open('data.csv', 'wb') as f:
data_writer = writer(f)
data_writer.writerow(['time','temp','pres','hum'])
while True:
data = get_sense_data()
data_writer.writerow(data)
sleep(600)
谁能帮我解释一下哪里出了问题...?
缓冲文件输出。如果你想在脚本休眠时看到它的中间结果,你需要刷新缓冲区。
with open('data.csv', 'wb') as f:
data_writer = writer(f)
data_writer.writerow(['time','temp','pres','hum'])
while True:
data = get_sense_data()
data_writer.writerow(data)
f.flush()
sleep(600)
我是 python 的新手,刚开始使用它。 我写了下面的脚本去从 SenseHat 获取一些数据,但不幸的是它没有做它应该做的事情。
它应该从 SenseHat 获取温度、湿度和压力,并每 10 分钟写入一个文件"data.csv"。
没有 sleep(600)
脚本工作正常,但记录了很多数据。使用 sleep
函数似乎什么都不做...
这是我的脚本:
from sense_hat import SenseHat
from datetime import datetime
from csv import writer
from time import sleep
sense = SenseHat()
def get_sense_data():
sense_data = []
sense_data.append(datetime.now())
sense_data.append(sense.get_temperature())
sense_data.append(sense.get_pressure())
sense_data.append(sense.get_humidity())
return sense_data
#while True:
# print(get_sense_data())
with open('data.csv', 'wb') as f:
data_writer = writer(f)
data_writer.writerow(['time','temp','pres','hum'])
while True:
data = get_sense_data()
data_writer.writerow(data)
sleep(600)from sense_hat import SenseHat
from datetime import datetime
from csv import writer
from time import sleep
sense = SenseHat()
def get_sense_data():
sense_data = []
sense_data.append(datetime.now())
sense_data.append(sense.get_temperature())
sense_data.append(sense.get_pressure())
sense_data.append(sense.get_humidity())
return sense_data
#while True:
# print(get_sense_data())
with open('data.csv', 'wb') as f:
data_writer = writer(f)
data_writer.writerow(['time','temp','pres','hum'])
while True:
data = get_sense_data()
data_writer.writerow(data)
sleep(600)
谁能帮我解释一下哪里出了问题...?
缓冲文件输出。如果你想在脚本休眠时看到它的中间结果,你需要刷新缓冲区。
with open('data.csv', 'wb') as f:
data_writer = writer(f)
data_writer.writerow(['time','temp','pres','hum'])
while True:
data = get_sense_data()
data_writer.writerow(data)
f.flush()
sleep(600)