如何每小时执行一次python代码

如何每小时执行一次python代码,python,gpio,Python,Gpio,我正在开发一个“天气记录器”应用程序,它将每小时/天创建一个日志文件。 这是我的代码: 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, proc

我正在开发一个“天气记录器”应用程序,它将每小时/天创建一个日志文件。 这是我的代码:

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

有没有办法每小时或每天执行此代码?

如果您在linux上,您可以将cron与
5****/usr/bin/wget-O--q-t1一起使用http://localhost/cron.php
,如果您在windows上,请使用链接


HTH

您可以使用apscheduler。您可以了解7种类型的调度器。后台调度程序是我比较喜欢的一种类型,可以由以下行使用:

from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
scheduler.add_job(log, 'cron', hours='0-24', id='my_job_id')
scheduler.start()

把它放到scheduler/cron中,这取决于你的系统?他有GPIO代码,我打赌它要么是嵌入式linux,要么是其他*nix嵌入式操作系统。如果是窗户的话,我会惊讶的。此外,粘贴纯链接也不是一个好主意。链接过期。几年后它可能会消失。