在Python中获取临时目录的跨平台方式

问题:

是否有跨平台的方式获取Python 2.6中temp目录的路径?
例如,在Linux下,将为/tmp,而在XP C:\Documents and settings\[user]\Application settings\Temp
谢谢!

回答:

那将是tempfile模块。
它具有获取临时目录的功能,并且还具有创建临时文件和目录的一些快捷方式,命名或未命名。
例:

import tempfile

print tempfile.gettempdir() # prints the current temporary directory

f = tempfile.TemporaryFile()
f.write('something on temporaryfile')
f.seek(0) # return to beginning of file
print f.read() # reads data back from the file
f.close() # temporary file is automatically deleted here

为了完整起见,下面是它如何搜索临时目录,根据文档:

  1. TMPDIR环境变量命名的目录。
  2. TEMP环境变量命名的目录。
  3. TMP环境变量命名的目录。
  4. 平台特定位置:

     

    • On RiscOS, the directory named by the Wimp$ScrapDir environment variable.
    • On Windows, the directories C:\TEMP, C:\TMP, \TEMP, and \TMP, in that order.
    • On all other platforms, the directories /tmp, /var/tmp, and /usr/tmp, in that order.
  5. 作为最后的手段,目前的工作目录。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Cross-platform way of getting temp directory in Python

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

39 − = 37