自動獲取開機界面作為壁紙


公司給配的筆記本是ThinkpadE480 ,自帶的是聯想電腦管家,聯想電腦管家的設置里有更新開機界面,每次的開機界面圖片都很高清,很適合用來做壁紙,我喜歡將壁紙設置為定時更新的,感覺很新鮮,每次看都有不一樣的心情。

代碼邏輯:

聯想電腦壁紙所在路徑:C:/Windows/Web/Screen/

要保存的目標路徑:C:/Users/yumi/Pictures/Saved Pictures/

聯想電腦管家的開機界面圖片每隔一段時間,會更新覆蓋img105.jpg,所以代碼要隔一段時間去檢測一下圖片img105.jpg是否更新,更新的話將其復制到目標文件下,將對比的圖片更換為最新的img105.jpg。

 

 

 1 import os
 2 import shutil
 3 
 4 from PIL import Image
 5 from PIL import ImageChops
 6 import time
 7 def compare_images(path_one, path_two):
 8     """
 9     比較圖片
10     :param path_one: 第一張圖片的路徑
11     :param path_two: 第二張圖片的路徑
12     :return: 相同返回 success
13     """
14 
15     image_one = Image.open(path_one)
16     image_two = Image.open(path_two)
17     try:
18         diff = ImageChops.difference(image_one, image_two)
19         log_path = "C:/Users/yumi/Pictures/Saved Pictures/log.txt"
20         timestr = time.strftime('%Y%m%d_%H%M%S ', time.localtime(time.time()))
21         if diff.getbbox() is None:
22             # 圖片間沒有任何不同則直接退出
23             f = open(log_path, 'a')
24             f.write("壁紙更新失敗,更新時間為"+timestr + '\n')
25             f.close()
26             return "success"
27         else:
28             return "error"
29 
30     except ValueError as e:
31         return "{0}\n{1}".format(e, "圖片大小和box對應的寬度不一致!")
32 
33 
34 def add_new_image(path_one, path_two,path):
35     """
36        添加新壁紙
37        :param path_one: 更新的開機圖片路徑
38        :param path_two: 上一個時間點最新的更新壁紙
39        :param path: 保存的目標文件夾
40     """
41     # 獲取時間戳,獲取系統時間,作為圖片名稱,保證圖片不重名
42     timestr = time.strftime('%Y%m%d_%H%M%S ',time.localtime(time.time()))
43     img_new_name = 'img'+ timestr + '.jpg'
44     img_path = path + img_new_name
45     # 將對比照片重新命名
46     os.rename(path_two,img_path)
47     # 將更新的開機圖片復制到目標文件下
48     shutil.copy(path_one,path)
49     # 更新日志
50     log_path = path + 'log.txt'
51     # f = open(log_path , 'r+')
52     # f.read()
53     f = open(log_path , 'a')
54     f.write("壁紙更新成功,更新時間為"+timestr+'\n')
55     f.close()
56     pass
57 
58 
59 if __name__ == '__main__':
60     # 更新的開機界面圖片路徑
61     path_one = "C:/Windows/Web/Screen/img105.jpg"
62     # 保存的目標壁紙文件
63     path = "C:/Users/yumi/Pictures/Saved Pictures/"
64     # 最新更新的壁紙圖片,用於與新開機界面圖片對比,檢測是否更新
65     path_two = path + "img105.jpg"
66     result = compare_images(path_one,path_two)
67     # 如果兩張圖片對比結果為不一致,代表有新的開機圖片,將其更新到目標文件夾中
68     if result == "error":
69         add_new_image(path_one,path_two,path)

將程序定時運行,借助Windows定時任務,設置為每隔一個小時執行一次,如何設置定時任務

編寫腳本,執行python文件,將定時任務運行的任務設置為screen_update.bat

高清圖片分享:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM