用python写入%temp%?

时间:2014-02-21 08:01:45

标签: io path relative-path python-3.3 temp

我有一个小程序可以在我的电脑上正常工作,但我想让它可移植。它的作用是从互联网上下载图像,设置为桌面背景,等待一分钟并更新图像。我知道我不能直接写到像appdata这样的文件夹,因为我不知道使用电脑的人的用户名。我需要将下载的图像保存在某个地方,因此我会将其保存在Windows 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)

1 个答案:

答案 0 :(得分:1)

使用它来定位Temp:

import os

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