在 python 中,您可以创建一个临时文件,如下所示:
tempfile.TemporaryFile()
然后你可以写信给它。在 GNU/Linux 系统中写入的文件在哪里?我似乎无法在 /tmp 目录或任何其他目录中找到它。
谢谢,
在 python 中,您可以创建一个临时文件,如下所示:
tempfile.TemporaryFile()
然后你可以写信给它。在 GNU/Linux 系统中写入的文件在哪里?我似乎无法在 /tmp 目录或任何其他目录中找到它。
谢谢,
返回当前选择的目录以在其中创建临时文件。
如果您想影响临时文件的创建位置,可以通过将tempfile.tempdir
值设置为不同的目录来更改临时文件的创建位置。从文档中引用,如果该值是None
规则如下:
如果 tempdir 未设置或
None
调用任何上述函数,Python 将搜索标准目录列表并将 tempdir 设置为调用用户可以在其中创建文件的第一个目录。列表为:
TMPDIR
由环境变量命名的目录。TEMP
由环境变量命名的目录。TMP
由环境变量命名的目录。- 特定于平台的位置:
- 在 RiscOS 上,由
Wimp$ScrapDir
环境变量命名的目录。- 在 Windows 上,目录
C:\TEMP
、C:\TMP
、\TEMP
和\TMP
, 按此顺序排列。- 在所有其他平台上,目录
/tmp
、/var/tmp
和/usr/tmp
, 按此顺序排列。- 作为最后的手段,当前工作目录。
查看.name
文件句柄确实是查看文件存在位置的一种方法。在TemporaryFile
(在 *NIX 系统上)的情况下,您会看到<fdopen>
,表示打开的文件句柄,但没有相应的目录条目。NamedTemporaryFile
如果您想保留指向基础文件的链接,则需要使用。
如果您想控制临时文件的位置,请查看dir
参数:
TemporaryFile
uses mkstemp
,它允许使用dir
参数设置目录:
如果
dir
指定,文件将在该目录中创建;否则,使用默认目录。默认目录是从依赖于平台的列表中选择的,但应用程序的用户可以通过设置TMPDIR
、TEMP
或TMP
环境变量来控制目录位置。
在外壳上试试这个
$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'