У меня есть небольшая программа, которая отлично работает на моем ПК, но я хочу сделать ее переносной. То, что он делает, это загрузить изображение из Интернета, установить фон рабочего стола, подождать одну минуту и обновить изображение. Я знаю, что я не могу писать напрямую в папки, такие как appdata, так как я не знаю имени пользователя, использующего компьютер. Мне нужно сохранить загруженное изображение где-нибудь, поэтому я бы сохранил его в папке Windows Temp
.Напишите% temp% с python?
Некоторые опции я думаю, было бы (Тем не менее, я не знаю, как сделать это в Python)
- использовать что-то вроде
%temp%
для доступа к папке. - Введите имя пользователя, на котором работает программа, и введите его в конец.
- Используйте переменную для имени пользователя.
- Использовать относительные пути
Я хотел бы попробовать и не должны использовать другой модуль не по умолчанию включена в Python 3, как я хочу, чтобы cx_freeze его позже.
import pythoncom
from urllib import request
from win32com.shell import shell, shellcon
from time import sleep
def get_image():
f = open('C:\\Users\\MyUser\\Desktop\\Python\\bg\\bg.jpg', 'wb') #Open old image
f.write(request.urlopen('blalbla.com/foo/img.jpg').read()) #Get new image and write
f.close()
pathtoimg = 'C:\\Users\\MyUser\\Desktop\\Python\\bg\\bg.jpg'
count = 0
while 1:
get_image()
iad = pythoncom.CoCreateInstance(shell.CLSID_ActiveDesktop, None,
pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IActiveDesktop)
iad.SetWallpaper(pathtoimg, 0)
iad.ApplyChanges(shellcon.AD_APPLY_ALL)
count += 1
print(count)
sleep(60)
нашел ответ! Будет опубликован, как только он позволит мне ответить на мой собственный вопрос. – user3315473