利用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函数返回值实例分析
Jun 08 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
python 发送json数据操作实例分析
Oct 15 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
python re的findall和finditer的区别详解
Nov 15 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
python自动生成sql语句的脚本
Feb 24 Python
python 实现mysql自动增删分区的方法
Apr 01 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
2006/12/13 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
总结python中pass的作用
2019/02/27 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
Python如何定义接口和抽象类
2020/07/28 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
internal修饰符起什么作用
2013/12/16 面试题
会计专业自我鉴定范文
2013/12/29 职场文书
大学生村官典型材料
2014/01/12 职场文书
表扬信格式
2014/01/12 职场文书
工作简历自我评价
2015/03/11 职场文书
导游词之清晏园
2019/11/22 职场文书