利用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利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
Python回调函数用法实例详解
Jul 02 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
Python简单I/O操作示例
Mar 18 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
Python循环中else,break和continue的用法实例详解
Jul 11 Python
Python实现语音识别和语音合成功能
Sep 20 Python
python有几个版本
Jun 17 Python
python 生成正态分布数据,并绘图和解析
Dec 21 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
Pytorch中TensorBoard及torchsummary的使用详解
May 12 Python
python中的sys模块和os模块
Mar 20 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警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
jQuery.each使用详解
2015/07/07 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
Python中for循环详解
2014/01/17 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
英语自荐信范文
2013/12/11 职场文书
物业招聘计划书
2014/01/10 职场文书
家长给老师的道歉信
2014/01/13 职场文书
分家协议书
2014/04/21 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
初中学生操行评语
2014/12/26 职场文书
法定代表人身份证明书
2015/06/18 职场文书
学校教学管理制度
2015/08/06 职场文书
经典祝酒词大全
2015/08/12 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
Python如何加载模型并查看网络
2022/07/15 Python