利用Python批量提取Win10锁屏壁纸实战教程


Posted in Python onMarch 27, 2018

前言

相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美。

利用Python批量提取Win10锁屏壁纸实战教程

但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换掉了。

借助Python,我们可以用简单的几行代码,批量提取这些精美的锁屏图片。把喜欢的图片设置成桌面背景,就不用担心被替换掉啦。

下面话不多说了,来一起看看详细的介绍吧。

提取原理

Win10系统会自动下载最新的锁屏壁纸,并将他们保存在一个系统文件夹中,路径是C:\Users\[用户名]\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets

利用Python批量提取Win10锁屏壁纸实战教程

直接打开这个文件夹,里面会有随机命名的多个文件,每一个文件就是一张图片。但是由于文件没有扩展名,所以并不能预览。为了不搞坏系统文件,并且把这些文件变成可以预览的格式,我们用Python把这些文件复制出来,加上JPG作为扩展名。

实现代码

import os, shutil
from datetime import datetime
# 把这个文件所在目录wallpapers文件夹作为保存图片的目录
save_folder = dir_path = os.path.dirname(
 os.path.realpath(__file__)) + '\wallpapers'
# 动态获取系统存放锁屏图片的位置
wallpaper_folder = os.getenv('LOCALAPPDATA') + (
 '\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy'
 '\LocalState\Assets')
# 列出所有的文件
wallpapers = os.listdir(wallpaper_folder)
for wallpaper in wallpapers:
 wallpaper_path = os.path.join(wallpaper_folder, wallpaper)
 # 小于150kb的不是锁屏图片
 if (os.path.getsize(wallpaper_path) / 1024) < 150:
 continue
 wallpaper_name = wallpaper + '.jpg'
 save_path = os.path.join(save_folder, wallpaper_name)
 shutil.copyfile(wallpaper_path, save_path)
 print('Save wallpaper ' + save_path)

首先确定系统存放锁屏图片的文件夹位置,由于文件夹位于用户的个人文件夹内,每个用户的用户名是不一样的,所以我们需要通过系统的LOCALAPPDATA变量动态的获取路径。代码会把提取出来的图片保存在wallpapers文件夹下,所以代码文件所在的目录没有wallpapers文件夹,需要手工创建一个。

利用Python批量提取Win10锁屏壁纸实战教程

执行上面这段Python代码,再打开wallpapers文件夹,就可以看到提取出的锁屏图片了。

利用Python批量提取Win10锁屏壁纸实战教程

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
浅谈五大Python Web框架
Mar 20 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
Python实现的堆排序算法示例
Apr 29 Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 Python
python 创建一维的0向量实例
Dec 02 Python
使用python实现多维数据降维操作
Feb 24 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
OpenCV-Python实现轮廓拟合
Jun 08 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 Python
如何Python使用re模块实现okenizer
Apr 30 Python
Django学习笔记之ORM基础教程
Mar 27 #Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 #Python
Python安装图文教程 Pycharm安装教程
Mar 27 #Python
python 接口返回的json字符串实例
Mar 27 #Python
使用Django和Python创建Json response的方法
Mar 26 #Python
python查询mysql,返回json的实例
Mar 26 #Python
Python发送http请求解析返回json的实例
Mar 26 #Python
You might like
重置版战役片段
2020/04/09 魔兽争霸
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
php学习笔记之 函数声明
2011/06/09 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
Vue中util的工具函数实例详解
2019/07/08 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
[47:06]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第一局
2016/03/05 DOTA
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
wxPython学习之主框架实例
2014/09/28 Python
python读取几个G的csv文件方法
2019/01/07 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
python绘制多个子图的实例
2019/07/07 Python
在django模板中实现超链接配置
2019/08/21 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Python decimal模块使用方法详解
2020/06/08 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
迟到检讨书300字
2014/02/14 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
警告通知
2015/04/25 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
用Python实现屏幕截图详解
2022/01/22 Python