【问题标题】:Write to %temp% with python?用python写到%temp%?
【发布时间】:2014-02-21 08:01:44
【问题描述】:

我有一个可以在我的 PC 上正常运行的小程序,但我想让它便携。它的作用是从互联网上下载图像,设置为桌面背景,等待一分钟并更新图像。我知道我不能直接写入 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)

【问题讨论】:

  • 找到答案了!只要它让我回答我自己的问题就会发布。

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


【解决方案1】:

使用它来定位 Temp:

import os

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

【讨论】:

    猜你喜欢
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多