python win10 桌面_实战 | Python批量提取Win10锁屏壁纸

news/2024/11/15 3:00:38/

使用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文件夹,就可以看到提取出的锁屏图片了。提取出的锁屏图片


http://www.ppmy.cn/news/317978.html

相关文章

如何保存Win10壁纸

怎样提取并保存 Windows 10 聚焦的锁屏壁纸 (教程) [原文链接] 首先&#xff0c;确保你的 Windows 10 已经开启了“聚焦”壁纸功能&#xff0c;桌面右键 > 个性化 > 锁屏界面 > “背景”选项下选择“Windows 聚焦”即为开启&#xff0c;之后系统将会自动联网更换锁屏…

win10壁纸存储位置_这是Windows 10存储其默认壁纸的位置

win10壁纸存储位置 Microsoft 微软 Windows 10 includes a nice selection of default wallpapers, but it’s easy to lose track of them if you decide to use custom wallpaper. If you’d like to use the default images again, here’s how to find and use them. Windo…

matlab的矩阵常用操作方法

matlab中数据的基本格式是矩阵&#xff0c;行向量、列向量和标量都是矩阵的特例。矩阵可以是二维的&#xff0c;也可以是多维的。 &#xff08;1&#xff09;查找矩阵中的元素 ①find函数 在matlab中&#xff0c;可以调用find函数在矩阵中查找满足一定条件的元素&#xff0c…

检测出DNF服务器未响应,dnf老是卡死未响应

游戏客户端和服务器配置文件改变较多&#xff0c;本地客户端的旧配置(未自动清空)存储文件【DNF.cfg】&#xff0c;造成映射服务器IP、端口等路径不对齐&#xff0c;可能会造成卡登陆和卡黑屏问题。 详细答案&#xff1a; 游戏客户端和服务器配置文件改变较多&#xff0c;本地客…

DNF体验服脚本全自动

<iframe class"bdSug_sd" style"display: none; position: absolute; border-width: 0px;"></iframe>#功能&#xff1a;全自动挂机升级全自动深渊全自动剧情全自动云上长安战未央下载地址&#xff1a;https://kok.lanzous.com/b03srmdwb 视频…

linux dnf命令安装

2019独角兽企业重金招聘Python工程师标准>>> http://www.tecmint.com/dnf-commands-for-fedora-rpm-package-management/ 转载于:https://my.oschina.net/u/2279209/blog/606913

创新研报 | 如何激发中国半导体企业发展潜力从而获得竞争优势,领跑新一轮增长?

近年来&#xff0c;伴随网络化、信息化、智能化飞速发展&#xff0c;半导体的应用领域不断拓展&#xff0c;在全球经济及社会发展中的重要性与日俱增。与此同时&#xff0c;越来越多的国家纷纷加码半导体&#xff0c;各个国家在半导体价值链中拥有不同的竞争优势。目前&#xf…

dnf包管理器常见用法

dnf包管理器常见用法 DNF包管理器简介从指定软件仓安装指定软件更新所有软件包到最新的稳定发行版升级系统版本常用命令回滚某个特定软件的版本dnf downgrade DNF包管理器简介 DNF包用法与yum高度相似,有一些不相同的常用命令,提供了不一样的功能. 参考: https://www.linuxcoo…