当tempfile.mktemp
在Python 2.7中贬值时,我生成一个临时文件的唯一路径,如下所示:
temp = tempfile.NamedTemporaryFile(suffix=".py")
path_to_generated_py = temp.name
temp.close()
# now I use path_to_gerated_py to create a python file
这是python2.7中推荐的方法吗?当我立即关闭临时文件时,它看起来像是在滥用NamedTemporaryFile
。。。。在
tempfile.mktemp()
的直接替换是tempfile.mkstemp()
。后者创建文件,如NamedTemporaryFile
,因此必须关闭它(如代码片段中所示)。与NamedTemporaryFile
的区别在于,文件在关闭时不会被删除。这实际上是必需的:您的版本有一个理论上的竞争条件,即两个进程可能以相同的临时文件名结束。{ten>文件在第三方使用时很可能不会被另一个文件名所覆盖,因此第三方可能不会使用另一个文件名。在相关问题 更多 >
编程相关推荐