2014-02-21 79 views
0

我有一個小程序,可以在我的電腦上正常工作,但我想使它具有便攜性。它所做的是從互聯網下載圖像,設置爲桌面背景,等待一分鐘並更新圖像。我知道我不能直接寫入像appdata這樣的文件夾,因爲我不知道使用計算機的人的用戶名。我需要將下載的圖像保存在某個地方,所以我將其保存在窗口Temp文件夾中。用python寫入%temp%?

我認爲它可能對某些選項(但我不知道如何做到這一點在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

使用此定位溫度:

import os 

mytmpdir = os.environ['TEMP'] #Must be uppercase