Python:防止在关闭时删除临时文件



我需要创建一个包含一些测试内容的临时文件:

def test_something():
tmp_path = make_temp_file('hellonworld')
do_something(tmp_path)

但是下面的代码我用来使文件自动删除关闭时的文件:

def make_temp_file(text):
with tempfile.NamedTemporaryFile() as tmp_file:
tmp_file.write(text.encode('utf-8'))
tmp_file.flush()
return tmp_file.name

因此,在do_something(tmp_path)中未找到该文件。如何防止在关闭时删除tmp文件?我将在测试后手动删除它。

有一个默认为true的delete参数。因此,在示例中,代码应该是tempfile.NamedTemporaryFile(delete=False)

感谢@juanpa.arrivilaga.

最新更新