前言
相信使用Win10的朋友會(huì)發(fā)現(xiàn),每次開(kāi)機(jī)鎖屏界面都會(huì)有不一樣的漂亮圖片,這些圖片通常選自優(yōu)秀的攝影作品,十分精美。

但是由于系統(tǒng)會(huì)自動(dòng)更換這些圖片,所以就算再好看的圖片,也許下次開(kāi)機(jī)之后就被替換掉了。
借助Python,我們可以用簡(jiǎn)單的幾行代碼,批量提取這些精美的鎖屏圖片。把喜歡的圖片設(shè)置成桌面背景,就不用擔(dān)心被替換掉啦。
下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
提取原理
Win10系統(tǒng)會(huì)自動(dòng)下載最新的鎖屏壁紙,并將他們保存在一個(gè)系統(tǒng)文件夾中,路徑是C:/Users/[用戶名]/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy/LocalState/Assets

直接打開(kāi)這個(gè)文件夾,里面會(huì)有隨機(jī)命名的多個(gè)文件,每一個(gè)文件就是一張圖片。但是由于文件沒(méi)有擴(kuò)展名,所以并不能預(yù)覽。為了不搞壞系統(tǒng)文件,并且把這些文件變成可以預(yù)覽的格式,我們用Python把這些文件復(fù)制出來(lái),加上JPG作為擴(kuò)展名。
實(shí)現(xiàn)代碼
import os, shutilfrom 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è)用戶的用戶名是不一樣的,所以我們需要通過(guò)系統(tǒng)的LOCALAPPDATA變量動(dòng)態(tài)的獲取路徑。代碼會(huì)把提取出來(lái)的圖片保存在wallpapers文件夾下,所以代碼文件所在的目錄沒(méi)有wallpapers文件夾,需要手工創(chuàng)建一個(gè)。

執(zhí)行上面這段Python代碼,再打開(kāi)wallpapers文件夾,就可以看到提取出的鎖屏圖片了。

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)VEVB武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選