利用Python批量提取Win10鎖屏壁紙實(shí)戰(zhàn)教程
前言
相信使用Win10的朋友會(huì)發(fā)現(xiàn),每次開機(jī)鎖屏界面都會(huì)有不一樣的漂亮圖片,這些圖片通常選自優(yōu)秀的攝影作品,十分精美。
但是由于系統(tǒng)會(huì)自動(dòng)更換這些圖片,所以就算再好看的圖片,也許下次開機(jī)之后就被替換掉了。
借助Python,我們可以用簡(jiǎn)單的幾行代碼,批量提取這些精美的鎖屏圖片。把喜歡的圖片設(shè)置成桌面背景,就不用擔(dān)心被替換掉啦。
下面話不多說了,來一起看看詳細(xì)的介紹吧。
提取原理
Win10系統(tǒng)會(huì)自動(dòng)下載最新的鎖屏壁紙,并將他們保存在一個(gè)系統(tǒng)文件夾中,路徑是C:\Users\[用戶名]\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets
直接打開這個(gè)文件夾,里面會(huì)有隨機(jī)命名的多個(gè)文件,每一個(gè)文件就是一張圖片。但是由于文件沒有擴(kuò)展名,所以并不能預(yù)覽。為了不搞壞系統(tǒng)文件,并且把這些文件變成可以預(yù)覽的格式,我們用Python把這些文件復(fù)制出來,加上JPG作為擴(kuò)展名。
實(shí)現(xiàn)代碼
import os, shutil from datetime import datetime # 把這個(gè)文件所在目錄wallpapers文件夾作為保存圖片的目錄 save_folder = dir_path = os.path.dirname( os.path.realpath(__file__)) + '\wallpapers' # 動(dòng)態(tài)獲取系統(tǒng)存放鎖屏圖片的位置 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)
首先確定系統(tǒng)存放鎖屏圖片的文件夾位置,由于文件夾位于用戶的個(gè)人文件夾內(nèi),每個(gè)用戶的用戶名是不一樣的,所以我們需要通過系統(tǒng)的LOCALAPPDATA變量動(dòng)態(tài)的獲取路徑。代碼會(huì)把提取出來的圖片保存在wallpapers文件夾下,所以代碼文件所在的目錄沒有wallpapers文件夾,需要手工創(chuàng)建一個(gè)。
執(zhí)行上面這段Python代碼,再打開wallpapers文件夾,就可以看到提取出的鎖屏圖片了。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
用Python實(shí)現(xiàn)zip密碼破解實(shí)例
大家好,本篇文章主要講的是用Python實(shí)現(xiàn)zip密碼破解實(shí)例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01Python?Asyncio庫之a(chǎn)syncio.task常用函數(shù)詳解
Asyncio在經(jīng)過一段時(shí)間的發(fā)展以及獲取Curio等第三方庫的經(jīng)驗(yàn)來提供更多的功能,目前高級(jí)功能也基本完善。本文主要介紹了Asyncio庫中asyncio.task常用函數(shù)的使用,需要的可以參考一下2023-03-03詳解如何優(yōu)化和調(diào)整Python中Scrapy的性能
在本篇高級(jí)教程中,我們將深入探討如何優(yōu)化和調(diào)整Scrapy爬蟲的性能,以及如何處理更復(fù)雜的抓取任務(wù),如登錄,處理Cookies和會(huì)話,以及避免爬蟲被網(wǎng)站識(shí)別和封鎖,需要的朋友可以參考下2023-09-09python提取字符串中的數(shù)字的實(shí)現(xiàn)
本文主要介紹了python提取字符串中的數(shù)字的實(shí)現(xiàn),主要介紹了幾種常見的方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Python面向?qū)ο笾甒eb靜態(tài)服務(wù)器
這篇文章主要為大家詳細(xì)介紹了Python面向?qū)ο笾甒eb靜態(tài)服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09Python使用enumerate獲取迭代元素下標(biāo)
這篇文章主要介紹了python使用enumerate獲取迭代元素下標(biāo),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02