Python 3 中具有特定文件扩展名的临时文件

Temporary file with specific file extension in Python 3

我正在为一段代码编写一些单元测试,该代码采用路径并尝试加载具有已知扩展名的文件,然后进行更仔细的检查。

在单元测试中,我想创建一个具有正确扩展名但内容不正确的临时文件,在我的例子中是一个冒充 test.tif.

的空文件

如何使用 tempfile 模块在指定扩展名(或整个名称)时创建临时文件?

NamedTemporaryFileclass以及suffixprefix参数我都看过了,还是不能设置扩展名。我想我可以在一个临时目录中手动创建一个文件,但是我失去了我所追求的自我删除能力。

这对你不起作用?

In [2]: tempfile.NamedTemporaryFile(suffix='.tif').name
Out[2]: '/var/folders/gq/swc6jtld5853skyq_xc2lpc40000gn/T/tmplrtwvxg7.tif'

你尝试了吗?

fd, path =tempfile.mkstemp(suffix = '.tif')
print(path)