在 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参数:
TemporaryFileuses 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'