Python实战 | 批量提取Win10锁屏壁纸

作者: 一墨编程学习 | 来源:发表于2019-04-23 22:52 被阅读2次

使用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文件夹,需要手工创建一个。

在代码文件旁新建一个wallpapers文件夹

执行上面这段Python代码,再打开wallpapers文件夹,就可以看到提取出的锁屏图片了。

提取出的锁屏图片

如果大家想找一个Python学习环境,可以加入我们的Python学习圈,自己是一名高级python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、人工智能、机器学习等。送给正在学习python的小伙伴!每天会准时的讲一些项目实战案例,分享一些学习的方法和需要注意的小细节,我们的python学习交流q–u--n【 784758214 】,这里是python学习者聚集地,欢迎初学和进阶中的小伙伴!

python最专业的技术分享

相关文章

  • Python实战 | 批量提取Win10锁屏壁纸

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

  • 用Python批量提取Win10锁屏壁纸

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

  • win10锁屏壁纸提取保存

    win10锁屏壁纸提取保存 操作 将fetchWinScreenAllPic.bat 放在任意位置,双击它,在该脚...

  • [R]文件处理

    合并csv 批量修改文件名(ps:修改锁屏壁纸到本地)

  • win10 锁屏的 聚焦壁纸 获取

    win10 的聚焦壁纸: win10 锁屏时的聚焦壁纸 有的挺好看的,想挖出来做桌面壁纸,要怎么实现呢? 进入路径...

  • 如何提取win10的锁屏壁纸

    1.找到C盘下的Assets文件夹2.将文件夹复制到新位置3.新建txt文档,内容输入(注意语法中空格):ren ...

  • 提取好看的win10锁屏壁纸

    1、锁屏界面设置为“windows聚焦”,才能自动从服务器上获取好看的壁纸。2、在文件资源管理器中——查看记得勾选...

  • 2019-12-21晚间日记

    今天是普通周五日子 天气:雨 心情:空空 小忙。 日常。 天气雨,6℃-8℃ 锁屏壁纸1 锁屏壁纸2 锁屏壁纸3 ...

  • Windows主题壁纸,锁屏壁纸提取

    在Windows 10桌面上新建一个文件夹,然后把新建文件夹重命名为后缀名(扩展名)为 .{ED7BA470-8E...

  • Mac_美化篇

    爱壁纸HD for Mac 锁屏

网友评论

    本文标题:Python实战 | 批量提取Win10锁屏壁纸

    本文链接:https://www.haomeiwen.com/subject/nttigqtx.html