注:本脚本程序copy自https://blog.youkuaiyun.com/icevmj/article/details/78890552
+
代码参考:https://github.com/qinyuanpei/WallPaper/blob/master/main.py
若侵权联系删
中途遇到win32模块加载不到最后发现下载的win32文件和python位数不一致(我的是64位)
下载地址参考:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/
百度云下载:
链接:https://pan.baidu.com/s/1hAJmdONH3EnnIQpF9x_WKg
提取码:2s2r
复制这段内容后打开百度网盘手机App,操作更方便哦
首先确保电脑安装了python,并且安装了requests模块,安装方法自行必应(python3默认安装了pip,这时只需在cmd中pip install requests即可安装requests)。
代码如下:
# -*- coding: UTF-8 -*-
import urllib
import requests
import os.path
import ctypes
import json
import win32gui,win32con,win32api
def save_img(img_url,dirname):
#保存图片到磁盘文件夹dirname中
try:
if not os.path.exists(dirname):
print ('文件夹',dirname,'不存在,重新建立')
#os.mkdir(dirname)
os.makedirs(dirname)
#获得图片文件名,包括后缀
basename = "bingImage.jpg"
#拼接目录与文件名,得到图片路径
filepath = os.path.join(dirname, basename)
#下载图片,并保存到文件夹中
urllib.urlretrieve(img_url,filepath)
except IOError as e:
print ('文件操作失败',e)
except Exception as e:
print ('错误 :',e)
print("Save", filepath, "successfully!")
return filepath
# 请求网页,跳转到最终 img 地址
def get_img_url():
#参考使用的bing官网的背景图 可自由改自己喜欢的
raw_img_url = "https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"
url=urllib.urlopen(raw_img_url)
for d in url:
info=json.loads(d)
img_url="https://cn.bing.com"+info['images'][0]['url']
return img_url
# quit()
# 设置图片绝对路径 filepath 所指向的图片为壁纸
def set_img_as_wallpaper(filePath):
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, filePath, 0)#win32con.SPI_SETDESKWALLPAPER=20
print('成功应用图片:%s为桌面壁纸' % filePath)
def main():
dirname = "D:\\img" # 图片要被保存在的位置(修改为自己的本地路径)
img_url = get_img_url()
filepath = save_img(img_url, dirname) # 图片文件的的路径
set_img_as_wallpaper(filepath)
main()
自动切换桌面
-
其中你只需更改保存位置。
注:本脚本程序copy自https://blog.youkuaiyun.com/icevmj/article/details/78890552若侵权联系删 -
在python脚本的同一目录下创建名为Py_BingImg.bat的批处理文件,批处理内容如下:
@echo offdel g:\bingImg\*.jpg
python SetBingImgAsWallpaper.py
-
第二行在运行python脚本前先删除前一天下载的必应图片,这样就实现了旧壁纸的每日清理,最大限度节省了存储空间。第三行为运行上面的python脚本。
-
如何实现壁纸的自动切换呢,这里采用开机运行上面的批处理程序的方法。
复制上面创建的批处理文件,到C:\User\yourname\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动目录下,右键-粘贴为快捷方式。这样就实现了开机启动批处理程序,自动清除和更新壁纸。
(每次开机都执行一遍更换壁纸的操作还不够完美,可以用Windows任务计划程序来添加任务,设置每天指定时间点运行批处理程序)