设置目录不适用于TemporaryFile

时间:2018-11-10 13:23:17

标签: numpy

我正在尝试使用TemporaryFile。这是代码段。

from tempfile import TemporaryFile
outfile = TemporaryFile(dir='./')
np.save(outfile, np.arange(9))
outfile.close()

我打印出outfile.name,然后我得到62,但没有找到名称为62的东西。实际上在指定目录中什么都没有。

我的问题是,TemporaryFile在哪里保存文件,以及如何为TemporaryFile()方法指定目录。

1 个答案:

答案 0 :(得分:0)

您可能希望使用NamedTemporaryFile而不是TemporaryFile。可以以在普通文件系统上不可见的方式创建TemporaryFile,而保证NamedTemporaryFile可见。

来自the NamedTemporaryFile docs

  

此函数的作用与TemporaryFile()完全相同,只是保证文件在文件系统中具有可见的名称(在Unix上,目录条目未取消链接)。可以从返回的类似文件的对象的name属性中检索该名称。

因此,只需用TemporaryFile替换代码中所有对NamedTemporaryFile的提及,然后一切都会按预期运行。请注意,NamedTemporaryFile一旦close()仍会从文件系统中删除。