Python 3.x 在Python中生成随机文件名(只是名称)

Python 3.x 在Python中生成随机文件名(只是名称),python-3.x,temporary-files,Python 3.x,Temporary Files,我需要一个随机文件名来传递给随子进程运行的命令 在Python2.3中被弃用,文档告诉我们使用它 但是,由于我只需要文件名,因此我最终会这样做: fd, filename = tempfile.mkstemp(prefix='source', suffix='.wav') os.close(fd) 这感觉很不必要 我想我可以继续关闭文件描述符,或者直接忽略弃用警告并使用mktemp,但我不喜欢使用弃用的函数,因为它们往往会在将来被删除,即使它在3.0版中幸存下来。两者都不是一个好的解决方案 任

我需要一个随机文件名来传递给随子进程运行的命令

在Python2.3中被弃用,文档告诉我们使用它

但是,由于我只需要文件名,因此我最终会这样做:

fd, filename = tempfile.mkstemp(prefix='source', suffix='.wav')
os.close(fd)
这感觉很不必要

我想我可以继续关闭文件描述符,或者直接忽略弃用警告并使用
mktemp
,但我不喜欢使用弃用的函数,因为它们往往会在将来被删除,即使它在3.0版中幸存下来。两者都不是一个好的解决方案


任何不会导致重写的想法
mktemp

在python 3的tempfile包中有一个名为temporaryfile的函数调用。此函数用于创建具有名称属性的临时文件。 在windows中,官方python文档中描述了它的一些限制


我应该发表评论,因为我不知道这是否真的有用。在您的标题中,您似乎只想生成一个名称,此方法将生成一个临时文件。但在您的示例中,您创建了一个临时文件,以便。。希望它会有帮助

NamedTemporaryFile
确实打开了文件,这正是我想要避免的。使用它只需将
os.close(fd)
替换为
file.close()