利用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做文本按行去重的实现方法
Oct 19 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
git进行版本控制心得详谈
Dec 10 Python
pandas ix &amp;iloc &amp;loc的区别
Jan 10 Python
Python进阶之@property动态属性的实现
Apr 01 Python
python tools实现视频的每一帧提取并保存
Mar 20 Python
pandas.cut具体使用总结
Jun 24 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
python创建与遍历List二维列表的方法
Aug 16 Python
Python zip函数打包元素实例解析
Dec 11 Python
python中二分查找法的实现方法
Dec 06 Python
Matlab如何实现矩阵复制扩充
Jun 02 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
初识Laravel
2014/10/30 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
python 读入多行数据的实例
2018/04/19 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
详解Python time库的使用
2019/10/10 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
大学生毕业自我评价范文分享
2013/11/11 职场文书
水利学院求职自荐书
2014/02/01 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
大学生团日活动总结
2015/05/06 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
MySQL中varchar和char类型的区别
2021/11/17 MySQL