利用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中使用PIPE操作Linux管道
Feb 04 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
python使用代理ip访问网站的实例
May 07 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
python中实现控制小数点位数的方法
Jan 24 Python
python批量处理文件或文件夹
Jul 28 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
Python判断字符串是否为合法标示符操作
Sep 03 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 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写的求多项式导数的函数代码
2012/07/04 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
PHP数据过滤的方法
2013/10/30 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python脚本实现网卡流量监控
2015/02/14 Python
Django的性能优化实现解析
2019/07/30 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
python将音频进行变速的操作方法
2020/04/08 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
与UNIX有关的几个名词
2015/09/17 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
材料成型专业个人求职信范文
2013/09/25 职场文书
建筑项目策划书
2014/01/13 职场文书
创业女性典型材料
2014/05/02 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
党员自我评价2015
2015/03/03 职场文书
公司表扬稿范文
2015/05/05 职场文书
交通安全教育心得体会
2016/01/15 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python