因為python每次運行完,並不清除內存,nowtime一直不變,這導致了一個致命問題,使我的腳本一直運行失敗,具體如下:
我設置的是每隔30分鍾登陸一次,代碼如下
if __name__ == "__main__": login() schedule.every(30).minutes.do(login) while True: schedule.run_pending() time.sleep(1)
但是它每次運行返回的數據都是一樣的
我9點多第一次打開運行,半個小時后運行結果如下:
[+]登錄成功 現在是北京時間:(2020-05-07 09:53:26.624833) LM003,“任務未開始”,任務時間:13 LM006,“任務未開始”,任務時間:14 LM007,“任務未開始”,任務時間:12 LM005,“任務未開始”,任務時間:09 [+]登錄成功 現在是北京時間:(2020-05-07 09:53:26.624833) LM003,“任務未開始”,任務時間:13 LM006,“任務未開始”,任務時間:14 LM007,“任務未開始”,任務時間:12 LM005,“任務未開始”,任務時間:09
原因是我在關鍵函數中加入了對比
def indexlist(): print("現在是北京時間:(%s)"%(now)) for index in range(len(list2)): if((buylist2[index]['state'])=="0"): if(int(buylist2[index]['task_hour']) <= int(now.hour)): while True: send(QQ) if(json_data3['data']!='null'): break send_pic(****) else: print ("{ID},“任務未開始”,任務時間:{tasktime}".format(ID = ***,tasktime = ***)) else: print ("{ID},任務已完成".format(***))
而我的now = datetime.datetime.now()是定義在login外的,所以每次運行一直不變,導致程序出現輸出錯誤
解決辦法:將now = datetime.datetime.now()寫入每半個小時login函數,並且每次運行完最后加上now=None清除內存
def login(): global now now = datetime.datetime.now() 巴拉巴拉一大堆之后 now=None
About Me
QQ 群:1094019526 tg 群:QQ 群里有
聯系我請加 QQ 好友 (1362449059),注明添加緣由
文章內容來源於 TOM 的學習筆記,部分整理自網絡,若有侵權或不當之處還請諒解
本文版權所有,轉載請標明出處,謝謝