往期回顾
Python 实现主动监测 Github 我的项目并关上网页
Python 实现文件主动归类
Python 实现帮你抉择双色球号码
前言:
明天咱们就利用 python 脚本实现每日更换“必应图片”为“桌面壁纸”。间接开整~
成果展现
思路整顿
1、通过网页,获取图片地址
2、保留图片到绝对路径
3、设置该绝对路径所指向的图片为壁纸
4、批处理壁纸主动切换
须要用到的模块如下:
import urllib.request
import requests
import os.path
import ctypes
第一、获取图片地址
这个函数次要通过 requests 模块,依据必应的网页地址,获取到当日图片的最终 img 地址。
# 申请网页,跳转到最终 img 地址
def get_img_url(raw_img_url="https://area.sinaapp.com/bingImg/"):
r = requests.get(raw_img_url)
img_url = r.url # 失去图片文件的网址
print('img_url:', img_url)
return img_url
第二、保留图片到本地
这个函数的作用就是把图片保留到你本人设置的一个目录下,并返回当前目录的相对地址。
def save_img(img_url, dirname):
# 保留图片到磁盘文件夹 dirname 中
try:
if not os.path.exists(dirname):
print('文件夹', dirname, '不存在,从新建设')
# os.mkdir(dirname)
os.makedirs(dirname)
# 取得图片文件名,包含后缀
basename = "bing.jpg"
# 拼接目录与文件名,失去图片门路
filepath = os.path.join(dirname, basename)
# 下载图片,并保留到文件夹中
urllib.request.urlretrieve(img_url, filepath)
except IOError as e:
print('文件操作失败', e)
except Exception as e:
print('谬误:', e)
print("Save", filepath, "successfully!")
return filepath
第三、设置该绝对路径所指向的图片为壁纸
通过之前取得的图片所在的绝对路径,把该图片设置为桌面壁纸。
def set_img_as_wallpaper(filepath):
ctypes.windll.user32.SystemParametersInfoW(20, 0, filepath, 0)
第四、运行代码的 main 函数
def main():
dirname = "D:\\bingImg" # 图片要被保留在的地位
img_url = get_img_url()
filepath = save_img(img_url, dirname) # 图片文件的门路
set_img_as_wallpaper(filepath)
运行成果(此时,能够回看一下文章首图中的左上角那张图片)
第五、批处理主动更换壁纸
此时,能够在 python 脚本的同一目录下创立名为 py_bingying.bat 的批处理文件,批处理内容如下:
@echo off
del g:\bingImg\*.jpg
python SetBingImgAsWallpaper.py
第二行在运行 python 脚本前先删除前一天下载的必应图片,这样就实现了旧壁纸的每日清理,最大限度节俭了存储空间。第三行为运行下面的 python 脚本。
如何实现壁纸的主动切换呢,这里采纳开机运行下面的批处理程序的办法。
复制下面创立的批处理文件,到下方目录下,右键 - 粘贴为快捷方式。这样就实现了开机启动批处理程序,主动革除和更新壁纸。
C:\User\yourname\AppData\Roaming\Microsoft\Windows\ 开始菜单 \ 程序 \ 启动每次开机都执行一遍更换壁纸的操作还不够完满的话,能够用 Windows 工作打算程序来增加工作,设置每天指定工夫点运行批处理程序。
文章到这里就完结了,感激你的观看,Python 实用脚本系列,下篇文章分享 Python 批量加水印
为了感激读者们,我想把我最近珍藏的一些编程干货分享给大家,回馈每一个读者,心愿能帮到你们。
干货次要有:
① 2000 多本 Python 电子书(支流和经典的书籍应该都有了)
② Python 规范库材料(最全中文版)
③ 我的项目源码(四五十个乏味且经典的练手我的项目及源码)
④ Python 根底入门、爬虫、web 开发、大数据分析方面的视频(适宜小白学习)
⑤ Python 学习路线图(辞别不入流的学习)
⑥ 两天的 Python 爬虫训练营直播权限
All done~详见个人简介或者私信获取残缺源代码。。