如何在 Python 中的特定时间间隔后 运行 方法?
How to run a method after a specific time interval in Python?
def sendDataToServer():
global temperature
threading.Timer(5.0, sendDataToServer).start()
print("Sensing...")
readSensor()
readCPUTemperature()
temperature = round(temperature, 1)
print(temperature)
print(humidity)
print(pressure)
temp = "%.1f" % temperature
hum = "%.1f" % humidity
press = "%.1f" % pressure
urllib.urlopen("http://www.teema.club/projectweather/add_data.php?temp=" + temp + "&hum=" + hum + "&pr=" + press).read()
sendDataToServer()
这是我的 Python 代码,它使用带有一些参数的 url 将一些值发送到服务器。我需要每 5 秒将此数据发送到服务器。我尝试使用线程,但它不起作用。
谁能告诉我这是正确的做法吗?
要定期(固定时间间隔)运行 一些代码,您可以使用 time.sleep()
,例如:
代码:
next_time = time.time()
while True:
# do some work here
....
# wait for next interval
next_time += 5
time.sleep(max(0, next_time - time.time()))
更大的列表:
def sendDataToServer(temperature, humidity, pressure):
urllib.urlopen(
"http://www.teema.club/projectweather/add_data.php?"
"temp=%.1f&hum=%.1f&pr=%.1f" % (
temperature, humidity, pressure)
).read()
import time
next_time = time.time()
while True:
# Read data
temperature = humidity = pressure = 1.0
# Send data
sendDataToServer(temperature, humidity, pressure)
next_time += 5
time.sleep(max(0, next_time - time.time()))
def sendDataToServer():
global temperature
threading.Timer(5.0, sendDataToServer).start()
print("Sensing...")
readSensor()
readCPUTemperature()
temperature = round(temperature, 1)
print(temperature)
print(humidity)
print(pressure)
temp = "%.1f" % temperature
hum = "%.1f" % humidity
press = "%.1f" % pressure
urllib.urlopen("http://www.teema.club/projectweather/add_data.php?temp=" + temp + "&hum=" + hum + "&pr=" + press).read()
sendDataToServer()
这是我的 Python 代码,它使用带有一些参数的 url 将一些值发送到服务器。我需要每 5 秒将此数据发送到服务器。我尝试使用线程,但它不起作用。
谁能告诉我这是正确的做法吗?
要定期(固定时间间隔)运行 一些代码,您可以使用 time.sleep()
,例如:
代码:
next_time = time.time()
while True:
# do some work here
....
# wait for next interval
next_time += 5
time.sleep(max(0, next_time - time.time()))
更大的列表:
def sendDataToServer(temperature, humidity, pressure):
urllib.urlopen(
"http://www.teema.club/projectweather/add_data.php?"
"temp=%.1f&hum=%.1f&pr=%.1f" % (
temperature, humidity, pressure)
).read()
import time
next_time = time.time()
while True:
# Read data
temperature = humidity = pressure = 1.0
# Send data
sendDataToServer(temperature, humidity, pressure)
next_time += 5
time.sleep(max(0, next_time - time.time()))