自动获取开机界面作为壁纸


公司给配的笔记本是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