用python当壁纸_使用Python脚本将Bing的每日图片作为桌面的教程
微軟最近出了個 必應bing 繽紛桌面,使用下來還是不錯,可以每天更換Bing首頁的北京作為壁紙,但是該軟件有個不好的地方是,安裝后桌面上會有一個搜索框出現,很是煩人,而且不能關掉。于是出于技術考慮,想到了使用Python來實現這個功能。
正如很多介紹Python書中那樣,Python是中膠水語言,用在哪里都是可行的。想要使用Python給桌面設置背景只需要下個模塊安裝即可:
http://sourceforge.net/projects/pywin32/
代碼非常簡單,參考了網上一些其他人寫了代碼,具體代碼如下:
# -*- coding: utf-8 -*-
import urllib,time,os,Image,win32gui,win32con,win32api
class StealBing:
def __init__(self):
self.content = urllib.urlopen('http://cn.bing.com/').read()
self.bgImageUrl = ''
self.localFileName = ''
self.localBMPFileName = ''
def parserImageURL(self):
tempStr = self.content[self.content.index('g_img={url:')+12:]
self.bgImageUrl = tempStr[:tempStr.index('id:\'bgDiv\'')-2]
def createLocalFileName(self):
randomStr = time.strftime("%Y%m%d", time.localtime())
self.localFileName = 'D:/Bing/' + randomStr + '.jpg'
self.localBMPFileName = 'D:/Bing/' + randomStr + '.bmp'
def downloadImage(self):
if self.bgImageUrl == '':
self.parserImageURL()
if self.localFileName == '':
self.createLocalFileName()
urllib.urlretrieve(self.bgImageUrl, self.localFileName)
def updateBGImage(self):
img = Image.open(self.localFileName)
img.save(self.localBMPFileName)
os.remove(self.localFileName)
k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(k, "WallpaperStyle", 0, win32con.REG_SZ, "2") #2拉伸適應桌面,0桌面居中
win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "0")
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, self.localBMPFileName , 1+2)
if __name__ == '__main__':
stealBing = StealBing()
stealBing.downloadImage()
stealBing.updateBGImage()
總結
以上是生活随笔為你收集整理的用python当壁纸_使用Python脚本将Bing的每日图片作为桌面的教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 是时候扔掉 Postman 了,Apif
- 下一篇: python之路day5_Python语