利用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操作CouchDB的方法
Oct 08 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
Python爬取京东的商品分类与链接
Aug 26 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
浅析python递归函数和河内塔问题
Apr 18 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
Python框架Flask的基本数据库操作方法分析
Jul 13 Python
Django之创建引擎索引报错及解决详解
Jul 17 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
python 读取、写入txt文件的示例
Sep 27 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
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
简单介绍Python中的len()函数的使用
2015/04/07 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
python分布式环境下的限流器的示例
2017/10/26 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
python实现双人五子棋(终端版)
2020/12/30 Python
信息技术毕业生自荐信范文
2014/03/13 职场文书
导师推荐信范文
2014/05/09 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
vue使用element-ui按需引入
2022/05/20 Vue.js