利用Python批量提取Win10锁屏壁纸实战教程

 更新时间:2018年03月27日 11:58:31   作者:simpleapples  
这篇文章主要给大家介绍了关于利用Python批量提取Win10锁屏壁纸的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美。

但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换掉了。

借助Python,我们可以用简单的几行代码,批量提取这些精美的锁屏图片。把喜欢的图片设置成桌面背景,就不用担心被替换掉啦。

下面话不多说了,来一起看看详细的介绍吧。

提取原理

Win10系统会自动下载最新的锁屏壁纸,并将他们保存在一个系统文件夹中,路径是C:\Users\[用户名]\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets

直接打开这个文件夹,里面会有随机命名的多个文件,每一个文件就是一张图片。但是由于文件没有扩展名,所以并不能预览。为了不搞坏系统文件,并且把这些文件变成可以预览的格式,我们用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代码,再打开wallpapers文件夹,就可以看到提取出的锁屏图片了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • TOPI如何使TVM代码不那么样板化

    TOPI如何使TVM代码不那么样板化

    这篇文章主要为大家介绍了TOPI如何使TVM代码不那么样板化实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 用Python实现zip密码破解实例

    用Python实现zip密码破解实例

    大家好,本篇文章主要讲的是用Python实现zip密码破解实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Python恋爱小助手之必拿下

    Python恋爱小助手之必拿下

    小编有个好兄弟最近在追妹子,跟妹子打得火热!就差临门一脚了,这一jio我帮忙补上去了!他问有没有什么酷炫的表白方式,想要一次成功,表白的方式有许多种今天小编来给大家带来两个不得不同意的表白代码
    2021-10-10
  • Python Asyncio库之asyncio.task常用函数详解

    Python Asyncio库之asyncio.task常用函数详解

    Asyncio在经过一段时间的发展以及获取Curio等第三方库的经验来提供更多的功能,目前高级功能也基本完善。本文主要介绍了Asyncio库中asyncio.task常用函数的使用,需要的可以参考一下
    2023-03-03
  • 详解如何优化和调整Python中Scrapy的性能

    详解如何优化和调整Python中Scrapy的性能

    在本篇高级教程中,我们将深入探讨如何优化和调整Scrapy爬虫的性能,以及如何处理更复杂的抓取任务,如登录,处理Cookies和会话,以及避免爬虫被网站识别和封锁,需要的朋友可以参考下
    2023-09-09
  • Python time库的时间时钟处理

    Python time库的时间时钟处理

    这篇文章主要介绍了Python time库的时间时钟处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • python提取字符串中的数字的实现

    python提取字符串中的数字的实现

    本文主要介绍了python提取字符串中的数字的实现,主要介绍了几种常见的方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • python递归算法(无限递归,正常递归,阶乘)

    python递归算法(无限递归,正常递归,阶乘)

    本文主要介绍了python递归算法,包含无限递归,正常递归,阶乘等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • Python面向对象之Web静态服务器

    Python面向对象之Web静态服务器

    这篇文章主要为大家详细介绍了Python面向对象之Web静态服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Python使用enumerate获取迭代元素下标

    Python使用enumerate获取迭代元素下标

    这篇文章主要介绍了python使用enumerate获取迭代元素下标,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02

最新评论