2014-02-21 3 views
0

У меня есть небольшая программа, которая отлично работает на моем ПК, но я хочу сделать ее переносной. То, что он делает, это загрузить изображение из Интернета, установить фон рабочего стола, подождать одну минуту и ​​обновить изображение. Я знаю, что я не могу писать напрямую в папки, такие как 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) 
+0

нашел ответ! Будет опубликован, как только он позволит мне ответить на мой собственный вопрос. – user3315473

ответ

1

Используется для поиска Temp:

import os 

mytmpdir = os.environ['TEMP'] #Must be uppercase 
Смежные вопросы