日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

python 时间提醒_Linux下基于python的定时提醒工具

發布時間:2023/12/20 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 时间提醒_Linux下基于python的定时提醒工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Kreminder

定時提醒工具,間隔一段時間之后提醒長時間坐在電腦面前的你休息一下。

開發初衷

對于需要長時間坐在電腦前工作的人來說,適當起來活動活動總是好的。如果長時間坐在電腦前不動,對于個人的健康來說,可能時一場噩夢。有人的可能想著要適當休息下,但一坐下來就忘了時間;有的人可能是明明已經感覺到坐著有些不舒服了,卻沒有毅力起來。我常常跟我的朋友說,我有“坐著”恐懼癥,平時能站著,我絕對不會坐著。因為只要一工作,我就是坐一天,常常是忘了時間起來,即是閑下來時又沒毅力起來了。中午一般是訂外賣,坐著吃完就坐著瞇一會,醒了又繼續工作。想想也是太可怕了。

(ˇˇ)

所以,后來寫了一個腳本,用 notify-send 輸出氣泡作提醒,并設置 crontab 隔一段時間就提醒自己休息一下。這就是該項目創建的初衷。

實現原理

在最初用 notify-send + crontab 基本實現自己想要的功能之后,又發現這樣靈活性太差,而且移植起來麻煩,換了臺電腦又得重新配置。于是打算自己寫一個定時任務,python 則是替代 shell 的好工具。剛開始是直接在 python 中調用 notify-send 命令。后來發現 python 有一個 pynotify 的模塊能實現 notify-send 同樣的功能,于是用 pynotify 改寫。定時就不在用 crontab 了, 直接用個死循環 sleep 就搞定。至此,用 python 的替換就完成了,不在有麻煩的配置,我只要帶著這份代碼到處跑就可以了。

過了一段時間,我發現我中午總是忘了訂飯。于是我想,該給它添加一個功能,讓它在快到中午的時候提醒我訂飯。這個功能則區別于間隔提醒,它是需要在指定的一個時間來提醒你做某事。于是開始更加這個功能,這樣就需要在循環中不停的對比時間,為之前的循環中有 sleep,所以就只能另外起一個線程。我打算用一個配置文件來設置所有需要處理的事物,然后讓腳本一個一個的讀取出來,這樣我要增加一個事項的時候就不用直接改代碼。

寫完之后運行程序,發現過了一會風扇就嗡嗡的轉了起來。資源消耗太大了。這可能跟在循環中需要不斷的獲取當前時間來比較的原因。于是又尋求新的解決方案,最后發現了 Python 有一個定時任務框架 APScheduler (Advanced Python Scheduler)可以完全替代 crontab 的功能。于是由決定用 APScheduler 來改寫程序。

改寫完成之后,在多次測試中發現 pynotify 似乎與 APScheduler 有些不太兼容,有些時候會出錯。搞到最后,決定用 pyqt 來做算了。本來最開始也打算用 pyqt 寫的,覺得要寫界面,麻煩。Pyqt 的 QSystemTrayIcon 可以創建系統托盤,并且也能產生氣泡。想想用 pyqt 寫也好,以后可以在此基礎上擴展更多的功能。

至此,該項目才有了基本的雛形。

使用說明

本程序依賴 apscheduler 和 pyqt4,要運行本程序需自行下載安裝。獲取源代碼之后,執行項目目錄中的 install.sh 即可安裝:

./install

安裝完成之后需修改配置文件:

vi ~/.kreminder/config/kreminder.conf

程序會在每次開機時隨系統啟動。退出可點擊系統托盤處的退出項。

卸載程序只需刪除主目錄下的 .kreminder 目錄即可:

rm -rf ~/.kreminder

本項目會不斷優化完善,并增加新的功能。

Huoty sudohuoty@163.com

2016.01.08

總結

以上是生活随笔為你收集整理的python 时间提醒_Linux下基于python的定时提醒工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。