首页 > 解决方案 > set directory does not work for TemporaryFile

问题描述

I am trying to use TemporaryFile. here is the code snippet.

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

I print outfile.name, then I got 62, I didn't find anything with a name 62. Actually I got nothing in specified directory.

My question is, where does TemporaryFile save file, and how to specify a directory for TemporaryFile() method.

标签: numpy

解决方案


您可能想要NamedTemporaryFile而不是TemporaryFile. TemporaryFile可以以在普通文件系统上不可见的方式创建,而 NamedTemporaryFile保证可见。

文档_NamedTemporaryFile

这个函数的操作和原来的完全一样TemporaryFile(),除了保证文件在文件系统中有一个可见的名字(在 Unix 上,目录条目没有被取消链接)。该名称可以从返回的类文件对象的名称属性中检索...

TemporaryFile因此,只需将代码中的所有提及替换为NamedTemporaryFile,然后一切都应该像您期望的那样工作。请注意,aNamedTemporaryFile仍然会从您的文件系统中删除close()


推荐阅读