我有一个python脚本,从技术上来说应该将我的壁纸更改为下载的.jpg文件。虽然代码执行没有任何错误,我的壁纸变为黑色而没有图像。我不确定我是否犯了错误,或者有一种不同的方法可行。谢谢你看,干杯!
我正在运行Windows版本的Python(v3.6.0a4)
import ctypes
import urllib
import os
import urllib.request
SPI_SETDESKWALLPAPER = 20
f = open('env.jpg','wb')
f.write(urllib.request.urlopen('http://i68.tinypic.com/vzhlrp.jpg').read())
path = os.getcwd() + "\env.jpg"
print("\n" + path)
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, path , 0)
我也尝试将路径更改为'C:\ env.jpg',它也不起作用。
编辑还尝试了一个更稳定的python版本,v3.5.1,仍然无法正常工作
EDIT 2 最后想通了,我需要添加f.close()来关闭流。
import ctypes
import urllib
import os
import urllib.request
SPI_SETDESKWALLPAPER = 20
f = open('env.jpg','wb')
f.write(urllib.request.urlopen('http://i68.tinypic.com/vzhlrp.jpg').read())
f.close() #THIS LINE MADE ALL THE DIFFERENCE
path = os.path.join(os.getcwd(), "env.jpg")
print("\n" + path)
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, path , 0)