我知道这样问不好,但我是诚实的,这是我现在的问题。我不知道这样做了,所以我不得不问这个(也不知道我在哪里可以问这个)。我不能调试我的代码,我可以看到当一天的变化,所以我不知道问题在哪里。你知道吗
我的代码是在24小时内拍照并发送到twitter。代码在第一天工作正常,但之后就不再发送照片了。而且我的代码中没有发现任何问题。如果你看到问题,请看一看并说。你知道吗
from twython import Twython
from picamera import PiCamera
from time import sleep
import datetime
import os
sleep(500)
camera = PiCamera()
camera.rotation = 180
datetimeNow = datetime.datetime.now()
oldDate = 0
newDate = 0
photoAlreadyTaken = 0
CONSUMER_KEY = 'sad...'
CONSUMER_SECRET = 'asd...'
ACCESS_TOKEN_KEY = 'fdsf...'
ACCESS_TOKEN_SECRET = 'asd..'
twitter = Twython(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY,
ACCESS_TOKEN_SECRET)
while True:
try:
newDate = datetimeNow.day
except:
print("error")
if newDate != oldDate:
if datetimeNow.hour == 14 and photoAlreadyTaken != 1:
photoAlreadyTaken = 1
try:
camera.start_preview()
sleep(5)
camera.capture('/home/pi/strawberry.jpg')
camera.stop_preview()
except:
photoAlreadyTaken = 0
sleep(5)
try:
with open('/home/pi/strawberry.jpg', 'rb') as photo:
twitter.update_status_with_media(status=str(datetimeNow.day) + "-" + str(datetimeNow.month) + "-" + str(datetimeNow.year), media=photo)
except:
photoAlreadyTaken = 0
oldDate = datetimeNow.day
else: #When the first photo is sent this is executed, but I cannot debug how long
photoAlreadyTaken = 0
sleep(500)
在循环的第一个周期之后,newDate和oldDate都相等datetime.datetime.now现在()在脚本永远激活时。你知道吗
关于datetimeNow值的推理有点错误;它是在激活时设置的,而您从不更新它。考虑将datetimeNow(静态值)替换为datetime.datetime.now现在()(给出当前日期时间的函数调用);或者至少在循环中的某个地方更新datetimeNow。你知道吗
祝你好运!你知道吗
相关问题 更多 >
编程相关推荐