python 日历壁纸_极客编程日历2018桌面壁纸
圖靈社區出版了一本極客編程日歷“Happy Hacking 2018”,實體已經售罄,但是提供了PDF電子版下載。我們可以編寫腳本,把日歷和桌面壁紙結合在一起。最終效果如圖:
編程日歷桌面壁紙
Python源代碼:
import datetime
from wand.image import Image #pip install Wand
PDF_SOURCE = '/home/pjheng/文檔/code_calendar_2018.pdf[{}]' #下載的PDF日歷路徑
BACKGROUND_SOURCE = '/usr/share/backgrounds/adapta/tealized.jpg' #使用的壁紙
OUTPUT = '/home/pjheng/圖片/turing.jpg' #生成的壁紙路徑
PAGE_OFFSET = 6 #周歷從PDF文檔的第7頁開始
MARGIN_LEFT = 200 #周歷的左邊距
MARGIN_TOP = 200 #周歷的上邊距
current_week = datetime.datetime.now().isocalendar()[1] #獲取當前是第幾周
page = PAGE_OFFSET + current_week #獲取周歷在PDF文檔中的頁號
with Image(filename=PDF_SOURCE.format(page), resolution=200) as calendar:
with Image(filename=BACKGROUND_SOURCE) as background:
background.composite_channel('default_channels', calendar, 'blend', MARGIN_LEFT, MARGIN_TOP)
background.save(filename=OUTPUT)
結合crontab(或者Windows的任務計劃程序),將腳本設定為每周一零點執行即可。
另外,有朋友遇到了Wand拋異常的問題,我分別在Python 3.6.3 + Wand 0.4.4 和 Python 3.4.3 + Wand 0.4.3 中測試,沒有重現。
還可以做一些有趣的擴展。比如繪制一個方框,框選下方的當天日期等等。
總結
以上是生活随笔為你收集整理的python 日历壁纸_极客编程日历2018桌面壁纸的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux日志写空,(十四)Linux日
- 下一篇: 人社部发布《电子劳动合同订立指引》,加速