利用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检测手机QQ在线状态的脚本代码
Feb 10 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
Nov 09 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
python+mysql实现教务管理系统
Feb 20 Python
微信小程序python用户认证的实现
Jul 29 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
在Keras中CNN联合LSTM进行分类实例
Jun 29 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
php取得字符串首字母的方法
2015/03/25 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
python使用Matplotlib画条形图
2020/03/25 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
python实现简单坦克大战
2020/03/27 Python
django使用多个数据库的方法实例
2021/03/04 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
EJB3.1都有哪些改进
2012/11/17 面试题
英文版网络工程师求职信
2013/10/28 职场文书
自荐信格式技巧有哪些呢
2013/11/19 职场文书
单位人事专员介绍信
2014/01/11 职场文书
小学课外活动总结
2014/07/09 职场文书
离婚协议书标准格式
2014/10/04 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS