code:Python - ne peut pas définir le papier peint avec tempfile
import urllib.request
import tempfile
import shutil
import ctypes
SPI_SETDESKWALLPAPER = 20
with urllib.request.urlopen('https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png') as response, tempfile.NamedTemporaryFile() as f:
shutil.copyfileobj(response, f)
ctypes.windll.user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, f.name, 0)
Cependant, si vous utilisez tempfile.NamedTemporaryFile(delete=False)
cela fonctionne.
L'état docs:
Si suppression est true (par défaut), le fichier est supprimé dès qu'il est fermé.
Dans mon code d'origine, le fichier n'est pas supprimé avant d'avoir quitté le corps de l'instruction with
lorsqu'il est automatiquement fermé. Alors pourquoi n'est pas SPI_SETDESKWALLPAPER
de travail?