Python_반드시 매일 벽지 교체(Python 2.7)
6337 단어 python
하루 에 한 장의 벽 지 를 바 꿔 야 하기 때문에 매일 한 장의 벽 지 를 내 려 받 아 바 꾸 기로 했다.
이미 완벽 하 게 변경 벽지
환경:
난점:
# This Python file uses the following encoding: utf-8
...
#python3
import urllib.request
#
def connect_Net(strUrl) :
request = urllib.request.Request(strUrl)
response = urllib.request.urlopen(request)
data = response.read()
return data
#python2.7
import urllib2
#
def connect_Net(strUrl) :
response = urllib2.urlopen(strUrl)
data = response.read()
return data
#Image
pip install pillow
#python3
import Image
#python2.7
from PIL import Image
pywin 32 에서 해당 버 전 을 찾 아 다운로드 한 후 직접 설치 하면 됩 니 다.
주의:
pip install win32gui
설치 방식 이 잘못 되 었 습 니 다.다음 내용 은 이전에 python 3 로 쓴 절차 와 차이 가 많 지 않 습 니 다.자세 한 내용 은 Python 을 볼 수 있 습 니 다.반드시 매일 벽지 교체
url: "/az/hprichbg/rb/HallstattAustria_ZH-CN10534000934_1920x1080.jpg"
url:"...jpg"와 빈 칸 이 있 기 때문에 정규 를 쓸 때 주의해 야 합 니 다patternImg = r'url: "(.*jpg)"'
전체 코드:# This Python file uses the following encoding: utf-8
import urllib2
import re
from PIL import Image
import win32gui
import win32con
import win32api
#
def connect_Net(strUrl) :
response = urllib2.urlopen(strUrl)
data = response.read()
return data
# :url(/az/hprichbg/rb/LaGrandeNomade_ZH-CN10098798714_1920x1080.jpg)
# URL
def get_DailyPicUrl(data) :
patternImg = r'url: "(.*jpg)"'
picUrl = re.findall(patternImg, data);
return picUrl[0];
#http://cn.bing.com/az/hprichbg/rb/GreatSaltLake_ZH-CN12553220159_1920x1080.jpg
def download_DailyPic(picUrl) :
#
picUrl = 'http://cn.bing.com' + picUrl
picData = connect_Net(picUrl)
#
picList = str(picUrl).split('/')
picName = picList[len(picList) - 1]
#
with open(picName, 'wb') as f:
f.write(picData)
return picName
StoreFolder = "D:\\Learn\\Python\\wallpaper"
#
def setWallPaper(imagePath):
bmpImage = Image.open(imagePath)
newPath = StoreFolder + "\\" +imagePath
bmpImage.save(newPath, "BMP")
setWallpaperFromBMP(newPath)
def setWallpaperFromBMP(imagepath):
print imagepath
k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(k, "WallpaperStyle", 0, win32con.REG_SZ, "2")
win32api.RegSetValueEx(k, "TileWallpaper", 0, win32con.REG_SZ, "0")
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,imagepath, 1+2)
if __name__ == '__main__' :
data = connect_Net('http://cn.bing.com/?mkt=zh-CN')
picUrl = get_DailyPicUrl(data.decode('utf-8'))
picName = download_DailyPic(picUrl)
setWallPaper(picName)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.