我正在开发一个" WeatherLogger"每小时/每天创建一个日志文件的应用程序。 这是我的代码:
import Adafruit_DHT as dht
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
rainsensorpin = "4"
GPIO.setup(rainsensorpin, GPIO.IN)
def log():
print "[!] Log action executed, processing it..."
filename = time.strftime('%d%Y-%m-%d %H:%M:%S')
humidity, temperature = Adafruit_DHT.read_retry(sensor,pin)
temp = "{:0.1f}*C".format(temperature)
hum = "{:0.1f}%".format(humidity)
state = GPIO.input(rainsensorpin)
data = "Temp: ", temp, " Hum: ", hum, " Rain: ", state, " Date+Time: ", filename
os.chdir("logs")
os.mknod(filename)
print "[+] Successfully created file: ", filename
有没有办法每小时或每天执行此代码?
答案 0 :(得分:1)
如果您使用的是Linux,则可以使用cron与5 * * * * /usr/bin/wget -O - -q -t 1 http://localhost/cron.php
之类的内容,如果您在Windows上使用this链接。
HTH
答案 1 :(得分:0)
您可以使用apscheduler。有7种类型的调度程序可供您了解here。后台调度程序是我喜欢的一种类型,可以由以下行使用:
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
scheduler.add_job(log, 'cron', hours='0-24', id='my_job_id')
scheduler.start()