Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:tempfile.mkdtemp和tempfile.TemporaryDirectory之间的差异_Python_Temporary Files - Fatal编程技术网

Python:tempfile.mkdtemp和tempfile.TemporaryDirectory之间的差异

Python:tempfile.mkdtemp和tempfile.TemporaryDirectory之间的差异,python,temporary-files,Python,Temporary Files,我需要创建一个临时目录,该目录将包含另一个命名目录和子文件。最后,命名目录和子文件将被附加到tarball中,临时目录可以被删除。最初打算使用,但看起来该方法会自动删除?有人能解释这些区别吗。来自 : 此函数用于创建临时 使用mkdtemp()的目录( 提供的参数直接传递 对基础函数的调用)。这个 生成的对象可以用作 上下文管理器(请参见With语句 上下文管理器)。完成 环境(或环境的破坏) 临时目录对象),新的 创建临时目录和所有 其内容将从列表中删除 文件系统 您是正确的,唯一真正的区别是

我需要创建一个临时目录,该目录将包含另一个命名目录和子文件。最后,命名目录和子文件将被附加到tarball中,临时目录可以被删除。最初打算使用,但看起来该方法会自动删除?有人能解释这些区别吗。

来自 :

此函数用于创建临时 使用mkdtemp()的目录( 提供的参数直接传递 对基础函数的调用)。这个 生成的对象可以用作 上下文管理器(请参见With语句 上下文管理器)。完成 环境(或环境的破坏) 临时目录对象),新的 创建临时目录和所有 其内容将从列表中删除 文件系统


您是正确的,唯一真正的区别是
TemporaryDirectory
完成后将删除自身。它将允许您执行以下操作:

with tempfile.TemporaryDirectory() as dir:
   do_stuff_with(dir)

当您将
的范围保留为
时,临时目录将被删除。使用
mkdtemp
,您需要手动执行此操作。

文档的最后一句非常清楚。如果您不阅读最后一句,请随意否决我的意见。最后一句话非常清楚地解释了所问的问题。我不记得在SO注册期间阅读过任何要求我具备一定编程或开发水平的用户需求。并非所有人都是以这种方式为生,也不应该假设这样做。我只是要求有人进一步向某些人“清楚地”解释记录的内容。因此,使用mkdtemp时,会返回一个dirname以供使用。如何使用临时目录创建子目录并向其写入文件。我是否像使用dirname一样使用TemporaryDirectory对象?对于我们中的一些人来说,你甚至没有询问过的必要的背景信息并不存在。