python 实现桌面壁纸自动更换

学了python大概两周了,今天做了个小程序,感觉还比较实用。在此记录一下


程序介绍



功能介绍:每隔30分钟,随机更换桌面。桌面资源是在zol网,自动爬取的热门图片


开机自启设置:发送changeBg.exe快捷方式到 C:\用户\用户名\AppData\Roaming\Microsoft\Windows\「开始」菜单\程序\启动文件夹


如果遇到不喜欢的图片,想要立即更换,则需要先杀死程序,再重新启动。程序每次启动时,都会立即更换一张背景图。


关闭程序:本程序是后台程序,不提供用户界面。所以关闭需要打开任务管理器,在任务管理器中找到changeBg的任务,并结束。


人生就像这个壁纸小程序,你永远也不知道下一张的壁纸长什么样。无意间的才叫惊喜


程序大致思路 :

爬取zol网上的热门图片链接,并存到数据库。每隔三十分钟获取图片链接,下载图片并设置背景图片。


刚开始学python,类的运用还不时很熟练,所以用文件的形式来编写


main 文件 负责各个模块的调用,主要逻辑

import getBgUrls
import fileUtils
import threading
import SetBg
import random
import db
import time

def setBgUrl():
    #睡五秒钟,等待另一个线程爬取图片utl 这样可以运行程序,立即更换桌面
    time.sleep(5)
    print('setBgUrl has executed')
    pic_urls = getBgUrls.pic_urls
    if len(pic_urls) > 0:
        abs_path = fileUtils.save_file(random.choice(pic_urls))
        SetBg.set_wallpaper(abs_path)
    #每小时换一次
    threading.Timer(60*30,setBgUrl).start()


if __name__ == '__main__':
    times =  db.getStartTimes()
    #第一次使用本程序 调用存储到数据库的爬虫
    if times == 0 :
        t1 = threading.Thread(target=getBgUrls.get_pic_urls_to_db).start()
    elif times <= 10:
        #如果数据库的数据url长度为0,证明中途被打断,没有插入成功,需要重新开始
        urls = db.getUrls()
        if len(urls) == 0:
            t1 = 
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值