知識點:Python庫及簡單定時器的使用 1. 滑鼠自動點擊屏幕代碼 (1). 首先 pip install pymouse (2). 運行代碼出現:ModuleNotFoundError: No module named ‘windows’ 原因:缺少pyuserinput工具 解決:pip in ...
知識點:Python庫及簡單定時器的使用
1. 滑鼠自動點擊屏幕代碼
(1). 首先 pip install pymouse
(2). 運行代碼出現:ModuleNotFoundError: No module named ‘windows’
原因:缺少pyuserinput工具
解決:pip install pyuserinput
報錯:Could not find a version that satisfies the requirement pyHook (from pyuserinput) (from versions: )
No matching distribution found for pyHook (from pyuserinput)
原因:缺少pyhook
解決方案:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 搜索pyhook 下載
然後pip install +路徑安裝
(3). pip install PyUserinput
運行成功!
2. 迴圈定時器Timer
線程定時器Timer原理:
指定時間間隔後啟動線程!適用場景:完成定時任務,例如:定時提醒,定時發送,定時採集功能等等.
# 導入線程模塊
import threading
timer = threading.Timer(interval, function, args=None, kwargs=None)
參數介紹:
interval — 定時器間隔,間隔多少秒之後啟動定時器任務(單位:秒);
function — 線程函數;
args — 線程參數,可以傳遞元組類型數據,預設為空(預設參數);
kwargs — 線程參數,可以傳遞字典類型數據,預設為空(預設參數)
3. 3s後列印hello world
只執行一次
4. 簡易迴圈定時器
在 function 里繼續註冊一個 Timer,這樣就可以在下一個 interval 繼續執行 function
Timer 本身,它是一個 thread,每次迴圈間隔操作,系統都要創建一個線程,然後再回收,這對系統來說開銷很大.
如果時間間隔 interval 很短,系統會一下子創建很多線程,這些線程很難快速回收,導致系統記憶體和cpu資源被消耗掉 .
5. Python3實現定時任務的四種方式
1>迴圈+sleep;
2>線程模塊中Timer類;
3>schedule模塊;
4>定時框架:APScheduler
6. 代碼
參考文檔:https://blog.csdn.net/weixin_41561539/article/details/94294828
https://blog.csdn.net/weixin_34203426/article/details/91394230