利用Python批量提取Win10锁屏壁纸实战教程
Windows 10锁屏壁纸精美但自动更新,本文介绍如何使用Python脚本批量提取本地Assets文件夹中的图片。通过动态获取LOCALAPPDATA路径并过滤大于150KB的文件,自动添加.jpg扩展名保存至指定目录,实现壁纸永久保存与桌面设置。
前言
使用Windows 10系统的用户可能注意到,每次解锁屏幕时都会显示不同的精美图片,这些通常源自高质量的摄影作品。

然而,系统会自动轮换这些壁纸,导致即使再喜欢的图片,在下次开机后也可能被新图片覆盖。
通过Python编写简单的脚本,我们可以批量提取这些精美的锁屏图片。将喜欢的图片设置为桌面背景,即可避免被系统自动替换。
接下来,我们将详细介绍具体的操作步骤。
提取原理
Windows 10系统会自动下载最新的锁屏壁纸,并将其存储在特定的系统文件夹中。默认路径为: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的文件夹中,因此需要确保代码所在目录已预先创建该文件夹。

执行上述Python代码后,打开wallpapers文件夹,即可看到所有提取出的锁屏图片。

总结
以上就是本文的全部内容,希望这些内容能对您的学习或工作有所帮助。如有任何疑问,欢迎留言交流,感谢大家对本站的支持。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









