Друзья, которые используют Win10, обнаружат, что каждый раз, когда они включают экран блокировки, будут появляться разные красивые картинки.Эти картинки обычно выбираются из отличных фоторабот, которые очень красивы.
Однако, поскольку система автоматически заменит эти картинки, независимо от того, насколько хороша картинка, она может быть заменена после следующей загрузки.
С помощью 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
Переменная получает путь динамически. Код сохранит извлеченные картинки в папку с обоями, поэтому в каталоге, где находится файл с кодом, папки с обоями нет, и вам нужно создать ее вручную.
Выполните приведенный выше код Python, а затем откройте папку с обоями, вы увидите извлеченное изображение экрана блокировки.