在python中,您可以按如下方式创建临时文件:
tempfile.TemporaryFile()
然后你可以写信给它。在GNU / Linux系统中写入的文件在哪里?我似乎无法在/ tmp目录或任何其他目录中找到它。
谢谢,
答案 0 :(得分:9)
致电tempfile.gettempdir()
function:
返回当前选择的目录以在。
中创建临时文件
如果要影响创建临时文件的位置,可以通过将tempfile.tempdir
value设置为其他目录来更改临时文件的创建位置。从文档中引用,如果该值为None
,则规则如下:
如果在调用任何上述函数时未设置tempdir或
None
,Python将搜索标准目录列表并将tempdir设置为调用用户可以创建文件的第一个。列表为:
TMPDIR
环境变量命名的目录。TEMP
环境变量命名的目录。TMP
环境变量命名的目录。- 特定于平台的位置:
- 在RiscOS上,由
Wimp$ScrapDir
环境变量命名的目录。- 在Windows上,依次为
C:\TEMP
,C:\TMP
,\TEMP
和\TMP
目录。- 在所有其他平台上,按顺序列出目录
/tmp
,/var/tmp
和/usr/tmp
。- 作为最后的手段,当前的工作目录。
醇>
答案 1 :(得分:5)
查看文件句柄上的.name
确实是查看文件存在位置的一种方法。对于TemporaryFile
(在* NIX系统上),您将看到<fdopen>
,表示打开的文件句柄,但没有相应的目录条目。如果您想保留指向基础文件的链接,则需要使用NamedTemporaryFile
。
如果您希望控制临时文件的位置,请查看dir
参数:
TemporaryFile
使用mkstemp
,允许使用dir
参数设置目录:
如果指定了
dir
,则将在该目录中创建该文件;否则,使用默认目录。默认目录是从与平台相关的列表中选择的,但应用程序的用户可以通过设置TMPDIR
,TEMP
或TMP
环境变量来控制目录位置。
答案 2 :(得分:1)
试试这个
$python
>>> import tempfile
>>>tempfile.gettempdir()
'/var/folders/5r/lxh8g5ln7zg43_l_3t0j7b1c0000gn/T'
这将显示python正在使用的实际临时路径。
您可以选择尝试此操作。 (这将产生与上面相同的结果)
$python
>>> import tempfile
>>>tempfile.tempdir
'/var/folders/5r/lxh8g5ln7zg43_l_3t0j7b1c0000gn/T'